Skip to content

Tensor Regression Using Low-Rank and Sparse Tucker Decomposition: Numerical Experiments

License

Notifications You must be signed in to change notification settings

INSPIRE-Lab-US/TPGD-tensor-regression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tensor Regression Using Low-Rank and Sparse Tucker Decompositions: Codebase for Numerical Experiments

Table of Contents

General Information

This repo contains the code used for numerical experiments in the "Tensor Regression Using Low-Rank and Sparse Tucker Decompositions" paper.

License and Citation

The code in this repo is being released under the GNU General Public License v3.0; please refer to the LICENSE file in the repo for detailed legalese pertaining to the license. In particular, if you use any part of this code then you must cite both the original paper as well as this codebase as follows:

Paper Citation: T. Ahmed, H. Raja, and W.U. Bajwa, "Tensor Regression Using Low-Rank and Sparse Tucker Decompositions," SIAM Journal on Mathematics of Data Science, vol. 2, pp. 944-966, 2020; doi: 10.1137/19M1299335.

Summary of Experiments

We conducted synthetic experiments as well as real-world data experiments to produce all plots and tables included in the paper.

  1. Comparison of three different tensor-valued regression algorithms on synthetic data (Synthetic-data Experiments).
  2. Comparison of five different regression algorithms, including three tensor-valued regression and two vector-valued regression methods, for predicting attention deficit hyperactivity disorder (ADHD) diagnosis (Real-data Experiments).

Synthetic-data Experiments

The code for the synthetic experiments can be found in the Synthetic directory. The code for validation experiments is contained in the val directory, whereas the code for generating the plots is contained in the main directory. The plots were generated using codes in the main directory, as explained below.

Steps to reproduce the results

In order to reproduce Figure 1(a) in the paper, we ran the SLR_test_glrsp_01.m, SLR_test_rauhut_01.m, and SLR_test_cp_01.m files in the noise 01 directory, which generated three separate .mat files in the same directory. The plot in Figure 1(a) was generated by running the plot_noise_var_01.ipynb file. Similarly, to reproduce Figure 1(b), we ran the SLR_test_glrsp_04.m, SLR_test_rauhut_04.m, and SLR_test_cp_04.m files in the noise 04 directory, followed by generation of Figure 1(b) by running the plot_noise_var_04.ipynb file. Finally, to reproduce Figure 1(c), we ran the SLR_test_glrsp_07.m, SLR_test_rauhut_07.m, and SLR_test_cp_07.m files in the noise 07 directory, followed by generation of Figure 1(c) by running the plot_noise_var_07.ipynb file. The histograms in Figure 1(d) can be obtained by running the histogram_fails.m file in the noise 01 directory. The violin plots in Figure 1(e) were generated using the violinplot_noise_01.ipynb file in the noise 01 directory.

Real-data Experiments

The Real directory contains the code used to produce the results for ADHD diagnosis prediction experiments as described in the paper.

Steps to reproduce the results

Table II in the Paper: Performance of all Regression Algorithms

To generate the ADHD prediction experiment results for Table II in the paper, we trained models by running files in the train directory, and then generated results by running files in the test directory.

To train the five different regression algorithms for the KKI center, run the following files in the train/kki directory: adhd_cp_kki.m, adhd_lasso_kki.m, adhd_svm_kki.m, adhd_tpgd_kki.m, and adhd_tucker_kki.m. After these files are ran, the five different models will be saved in the train/models directory. To evaluate performance for the KKI center, run the test_data_kki_all.m and test_data_kki_svr_lasso.m files in the test directory, by uncommenting the appropriate lines for each method.

To train the five different regression algorithms for the NYU center, run the following files in the train/nyu directory: adhd_cp_nyu.m, adhd_lasso_nyu.m, adhd_svm_nyu.m, adhd_tpgd_nyu.m, and adhd_tucker_nyu.m. After these files are ran, the five different models will be saved in the train/models directory. To evaluate performance for the NYU center, run the test_data_nyu_all.m and test_data_nyu_svr_lasso.m files in the test directory, by uncommenting the appropriate lines for each method.

To train the five different regression algorithms for the Neuroimaging center, run the following files in the train/nr directory: adhd_cp_nr.m, adhd_lasso_nr.m, adhd_svm_nr.m, adhd_tpgd_nr.m, and adhd_tucker_nr.m. After these files are ran, the five different models will be saved in the train/models directory. To evaluate performance for the Neuroimaging center, run the test_data_nr_all.m and test_data_nr_svr_lasso.m files in the test directory, by uncommenting the appropriate lines for each method.

Contributors

The original algorithms and experiments were developed by the authors of the paper:

About

Tensor Regression Using Low-Rank and Sparse Tucker Decomposition: Numerical Experiments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published