Data & Code
Note: this site is still under construction. In the near future we will provide the Matlab scripts that generate the figures and tables in the Robust Subspace Clustering paper along with the source data required to run them. For now we have provided the code for the various solvers used in the paper.
Code
General guidelines: The LASSO based solvers provided here use TFOCS. After downloading and saving the TFOCS path, please replace TFOCS's prox_l1.m with prox_l1.m. The Dantzig based solvers use L1 Homotopy methods tool box. The comparison files use CVX. Please make sure to have these toolboxes installed/added to your Matlab path.
Complete Package
You can download all of the Mfiles provided on this webpage as a single zip file: RSC.zip.
Matlab solvers
LASSO based solvers
RSC:
Uses LASSO to simultaneously regress each column against all others with a single choice of for all data points.
solver: solver_RSC.m.
comparison with CVX: run_RSC.m.
partial RSC:
Uses LASSO to regress each column against all others with a single choice of for all data points. This process is carried out simultaneously over a partial subset of the data points.
solver: solver_RSC_partial.m.
comparison with CVX: run_RSC_partial.m.
multiRSC:
Uses LASSO to simultaneously regress each column against all others with a different choice of for each of the data points.
solver: solver_multi_RSC.m.
comparison with CVX: run_multi_RSC.m.
partial multiRSC:
Uses LASSO to regress each column against all others with a different choice of for each of the data points. This process is carried out simultaneously over a partial subset of the data points.
solver: solver_multi_RSC_partial.m.
comparison with CVX: run_multi_RSC_partial.m.
constrained RSC:
Uses the constrained version of LASSO to simultaneously regress each column against all others with a single choice of for each of the data points.
solver: solver_constr_RSC.m.
comparison with CVX: run_constr_RSC.m.
partial constrained RSC:
Uses the constrained version of LASSO to regress each column against all others with a single choice of for each of the data points. This process is carried out simultaneously over a partial subset of the data points.
solver: solver_constr_RSC_partial.m.
comparison with CVX: run_constr_RSC_partial.m.
Dantzig based solvers
Biascorrected Dantzig:
Solves the biascorrected Dantzig formulation for each data point.
solver: solver_BCDantzig.m
comparison with CVX: run_BCDantzig.m
Biascorrected Dantzig with multiple parameters:
Solves the biascorrected Dantzig formulation for each data point using multiple values of the parameter .
solver: solver_BCDantzig_all.m
comparison with CVX: run_BCDantzig_all.m
Matlab functions
op functions
These functions build the linear operators needed to simultaneously run all the regression problems in parallel for each of the solvers.
prox functions
spectral clustering functions
Matlab scripts
Data
