The Sparse Representation (SR) Toolbox in MATLAB
Introduction
This is my Sparse Representation Toolbox in MATLAB. This toolbox includes the machine learning approaches: sparse coding based classification, dictionary learning based dimension reduction, sub-dictionary learning models, and linear regression classification (LRC). Kernel l_1 regularized or (and) non-negative constrained sparse coding and dictionary learning models are implemented in this toolbox. Active-set, interior-point, proximal, and decomposition methods are provided to optimize these models. The current version is 1.9 (March 02, 2015). This toolbox is free for academic usage.
You can find a tutorial and the source code from Tutorial and Code.
What's New in the Current Version
Examples are cleaned up. Bugs are fixed in v1.9.
Missing function "classification.m" is added in v1.8. The function "classification.m" is an old function, this is only an interface. "SRCl1LSKernel.m" is also out of date. You can use classificationTrain.m and classificationPredict.m instead of classification.m. For kernel sparse coding classification method, the
method parameter is "ksrsc". You can also use "KSRSCClassifier.m" directly for sparse coding classification.
A tutorial is added in v1.7. We will not maintain its previous website http://cs.uwindsor.ca/~li11112c/sr.
The kernel sparse coding function KSRSC and the kernel dictionary function KSRDL are modified in v1.6.
The sparse coding based classifiers now have three decision rules: nearest neighbor (NN), k-nearest neighbor (k-NN), and nearest space (NS), in v1.6.
Method that finds the minimum data-size required for significant accuracy is added in v1.5.
The method that fits learning curves is added in v1.5.
Method that statistically compares multiple classifiers over multiple datasets, Friedman test with Nemenyi test, is added in v1.5.
Kernel nearest-centroid classification methods are added.
Kernel dictionary learning and sparse coding methods are added.
Metasample-based NNLS classifier (MNNLS) is added.
Regression residuals are added as one of the output of NNLS, SRC1, SRC2, MSRC, and LRC classifiers.
Citation
Y. Li "Sparse representation for high-dimensional data analysis", in "Sparse Machine Learning Models in Bioinformatics", PhD Thesis, School of Computer Science, University of Windsor, Canada, 2013. Thesis Available at http://scholar.uwindsor.ca/etd/5023/
Y. Li and A. Ngom, " Sparse representation approaches for the classification of high-dimensional biological data," BMC Systems Biology, vol 7, no. (Suppl 4), pp: S6, 2013. Software Available at https://sites.google.com/site/sparsereptool
Y. Li and A. Ngom, " Classification approach based on non-negative least squares," Neurocomputing, vol. 118, pp. 41-57, 2013.
Other References
Y. Li and A. Ngom, "Classification approach based on non-negative least squares," Technical Report, No. 12-010, School of Computer Science, University of Windsor, March 2012.
J. Wright, A. Y. Yang, A. Ganesh, S. S. Sastry, and Y. Ma, "Robust face recognition via sparse representation," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 2, pp. 210-227, 2009.
X. Hang, and F.-X. Wu, "Sparse representation for classification of tumors using gene expression data," Journal of Biomedicine and Biotechnology, vol. 2009, doi:10.1155/2009/403689, 2009.
I. Naseem, R. Togneri, and M. Bennamoun, "Linear regression for face recognition," IEEE Transations on Pattern Analysis and Machine Intelligence, vol. 32, no. 11, pp. 2106-2112, 2010.
C. -H. Zheng, L. Zhang, T. -Y. Ng, S. C. K. Shiu, and D. -S. Huang, "Metasample-based sparse representation for tumor classification," IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 8, no. 5, pp. 1273-1282, 2011.
Contact
It is greatly appreciated if you report the bugs in our toolbox to us. Any comment on improving this toolbox is most welcome. Please contact Yifeng Li: yifeng.li.cn{AT}gmail.com or li11112c{AT}uwindsor.ca. You can also contact Dr. Alioune Ngom.
History
Version 1.9 uploaded. March 02, 2015.
Version 1.8 uploaded. August 20, 2014.
Version 1.7 uploaded. July 23, 2013.
Version 1.6 uploaded. February 28, 2013
Version 1.5 uploaded. November 25, 2012
Version 1.4 uploaded. September 24, 2012
Version 1.3 uploaded. April 10, 2012
Version 1.2 uploaded. December 20, 2011
Version 1.1 uploaded. December 16, 2011
Version 1.0 uploaded. October 11, 2011
You may be also interested in my
Non-Negative Matrix Factorization toolbox at https://sites.google.com/site/nmftool,
Sparse Representation toolbox at https://sites.google.com/site/sparsereptool,
Regularized Linear Models and Kernels toolbox: https://sites.google.com/site/rlmktool,
Probabilistic Graphical Models toolbox at https://sites.google.com/site/pgmtool,
Spectral Clustering toolbox at https://sites.google.com/site/speclust.