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 materialsThe code is publicly available at 'https://anonymous.4open.science/r/RTGD-MVC-6646/'
- Launch MATLAB and navigate to the
expfolder: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
.matfile in thedata/folder. - Example: For dataset
mydata, save it asdata/mydata.mat.
- Save your dataset as a
-
Dataset Format Requirements
Ensure your.matfile 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.mattodata/: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.