This repository provides the official MATLAB implementation for the paper "RTGD-MVC: Robust Tensor Learning with Graph Diffusion for Scalable Multi-view Graph Clustering".
We are thrilled to announce that our paper, "RTGD-MVC: Robust Tensor Learning with Graph Diffusion for Scalable Multi-view Graph Clustering", has been accepted by ACM Multimedia 2025. It has also been recommended for an Oral Presentation, a testament to its strong peer-review evaluation.
Key Features:
🔹 Robust Tensor Learning with Graph Diffusion for Scalable Multi-view Graph Clustering.
🔹 One-click reproducible experiments with hyperparameter optimization
🔹 Comprehensive baseline comparisons (see baseline/
directory)
🔹 Supports common datasets (BBC, BDGP, CCV, etc.).
- MATLAB ≥ R2019b
- MATLAB Toolboxes:
- Statistics and Machine Learning Toolbox
- (Optional) Parallel Computing Toolbox (for large datasets)
RTGD-MVC/
├── data/ # Dataset storage
│ └── BBC.mat # Sample dataset file
├── exp/ # Experiment scripts
│ ├── run_demo.m # Main experiment script
│ └── result_RTGD-MVC/ # Results storage (auto-generated)
├── lib/ # Utility functions
│ └── NormalizeFea.m # Data normalization
├── utils/ # Core algorithm implementation
│ ├── Construct_FB.m # Anchor graph construction
│ └──RTGD.m # Main algorithm function
├── baseline/ # Baseline implementations
│ ├── AWMVC/ # Adaptive Weighted MVC
│ ├── FPMVS-CAG/ # Fast Probabilistic MVC
│ └── ... # Other baselines
└── docs/ # Supplementary materials
The code is publicly available at 'https://anonymous.4open.science/r/RTGD-MVC-6646/'
- Launch MATLAB and navigate to the
exp
folder:cd /path/to/RTGD-MVC/exp
- Execute the demo script:
run run_demo.m
- Results will be saved in
exp/result_RTGD-MVC/
.
-
Place Your Dataset
- Save your dataset as a
.mat
file in thedata/
folder. - Example: For dataset
mydata
, save it asdata/mydata.mat
.
- Save your dataset as a
-
Dataset Format Requirements
Ensure your.mat
file contains:% Variables: % - X: Cell array of multi-view data {nView × 1}, each view is [nSmp × nFeature] % - Y: Ground truth labels [nSmp × 1] load('mydata.mat');
🔄 Example Workflow
- Add
mydata.mat
todata/
:RTGD-MVC/ └── data/ └── mydata.mat
- Set
dataset = 'mydata';
inrun_demo.m
- Run the code. Results will use your custom dataset.
The experimental results will be saved in the following directory structure:
exp/result_RTGD-MVC/
└── {dataset_name}/ # e.g., BBC/
├── {dataset_name}_RTGD.mat # Aggregated results (best parameters)
└── {dataset_name}_RTGD_param{1-N}.mat # Per-parameter results
D:\Sean\MVC\RTGD-MVC\exp\result_RTGD-MVC\BBC\
├── BBC_RTGD.mat # Best results across all parameters
├── BBC_RTGD_param1.mat # Results for parameter set 1
├── BBC_RTGD_param2.mat # Results for parameter set 2
└── ... # Additional parameter results
Variable | Description | MATLAB Access Command |
---|---|---|
RTGD_global_result |
Metrics for all parameter sets | load('BBC_RTGD.mat') |
RTGD_global_time |
Average runtime per parameter set | disp(RTGD_global_time) |
RTGD_global_result_summary |
Best metrics (ACC/NMI/PUR + time) | disp(RTGD_global_result_summary) |
iParam_max |
Index of best-performing parameters | disp(iParam_max) |
Variable | Description |
---|---|
temp_grid_ans |
Metrics for a specific parameter set |
Example Metrics: | [ACC, NMI, PUR, Time] |
Key parameters in run_demo.m
:
% Hyperparameter grid search ranges:
lambda_s = 10.^(-6:1:0); % Sparse error weight (1e-6 to 1)
delta_s = 10.^(-6:1:0); % Convergence threshold (1e-6 to 1)
nAnch_s = nClus.*(2:1:8); % Anchors: 2×nClus to 8×nClus
ks_s = [10]; % k-Nearest Neighbors
eta_s = [1]; % Graph regularization
Parameter | Description | Search Range / Values |
---|---|---|
nClus |
Number of clusters | Dataset-specific (e.g., 4) |
nAnch |
Number of anchors | 2×nClus to 8×nClus |
ks |
k-Nearest Neighbors for graph building | 10 |
eta |
Graph regularization coefficient | 1 |
lambda |
Sparse error weight | 10⁻⁶ (1e-6) to 1 (log scale) |
delta |
Convergence threshold | 10⁻⁶ (1e-6) to 1 (log scale) |
This project is licensed under the MIT License. See LICENSE for details.