MahNMF Manhattan Non-negative Matrix Factorization code % Manhattan Non-negative Matrix Factorization. % ManhNMF: Matlab Code for Efficient Robust Manhattan NMF Solver % Reference % [1] N. Guan, D. Tao, Z. Luo, and J. Shawe-taylor, "MahNMF: Manhattan % Non-negative Matrix Factorization," arXiv:1207.3438v1, 2012. % [2] N. Guan, D. Tao, Z. Luo, and J. Shawe-taylor, "MahNMF: Manhattan % Non-negative Matrix Factorization," Submitted to Journal of Machine Learning Research, 2013. % The model is X \approx W^TH, where X, W, and H are defined as follows: % X (m x n): data matrix including n samples in m-dimensional space; % W (r x m): basis matrix including r bases in m-dimensional space; % H (r x n): coefficients matrix includeing n encodings in r-dimensional space. % Written by Naiyang Guan (ny.guan@gmail.com) % Copyright 2012-2014 by Naiyang Guan and Dacheng Tao % Modified at Jan. 28 2013 % % X : Input data matrix (m x n) % r : Target low-rank % % (Below are optional arguments: can be set by providing name-value pairs) % MAX_ITER : Maximum number of iterations. Default is 1,000. % MIN_ITER : Minimum number of iterations. Default is 10. % MAX_TIME : Maximum amount of time in seconds. Default is 100,000. % W_INIT : (m x r) initial value for W. % H_INIT : (r x n) initial value for H. % LAM_INIT : initial value of smoothness parameter. Default is 1. % MDL_TYPE : Model type (Default is 'PLAIN'), % 'PLAIN' - MahNMF (min{||X-W^T*H||_1,s.t.,W >= 0 and H >= 0}.), % 'BXC' - Box Constrained MahNMF (min{||X-W^T*H||_1,s.t.,1 >= W >= 0 and 1 >= H >= 0}.), % 'MNR' - Manifold Regularized MahNMF % (min{||X-W^T*H||_1+.5*beta*TR(H*Lp*H^T),s.t.,W >= 0 and H >= 0}.), % 'GSP' - Group Sparse MahNMF % (min{||X-W^T*H||_1+.5*beta*\sum_{g\in G}||W^[g]||_{1,p},s.t.,W >= 0 and H >= 0}.), % 'SYM' - Symmetric MahNMF (min{||X-H*H^T||_1,s.t., H >= 0}.). % ALG_TYPE : Algorithm type (Default is 'AGD'), % 'AGD' - Accelerated Gradient Descent, % 'RRI' - Rank-one Residue Iteration. % BETA : Tradeoff parameter over regularization term. Default is 1e-3. % SIM_MTX : Similarity matrix constructed by 'constructW'. % GPP_MTX : Group pattern for boundary of all groups. % TOL_INNR : Stopping tolerance of inner iterations. Default is 1e-2. % TOL_OUTR : Stopping tolerance of outer iterations. Default is 1e-3. % If you want to obtain a more accurate solution, decrease TOL_INNR or TOL_OUTR and increase MAX_ITER at the same time. % VB_OUTR : 0 (default) - No debugging information is collected. % 1 (debugging purpose) - History of computation is returned by 'HIS' variable. % 2 (debugging purpose) - History of computation is additionally printed on screen. % VB_INNR : 0 (default) - No debugging information is collected. % 1 (debugging purpose) - History of computation is returned by 'HIS' variable. % 2 (debugging purpose) - History of computation is additionally printed on screen. % % W : Obtained basis matrix (r x m). % H : Obtained coefficients matrix (r x n). % iter : Number of iterations. % elapse : CPU time in seconds. % HIS : (debugging purpose) History of computation, % niter - total iteration number spent for Nesterov's optimal % gradient method, % cpus - CPU seconds at iteration rounds, % objf - objective function values at iteration rounds, % dlta - stopping criteria of block coordinate descent. % % % >>X=rand(1000,500); % >>ManhNMF(X,10); % >>ManhNMF(X,20,'verbose',1); % >>ManhNMF(X,30,'verbose',2,'w_init',rand(r,m)); % >>ManhNMF(X,5,'verbose',2,'tol_outr',1e-5); % Note: other files 'GetStopCriterion.m', 'ApproxFunC.m', and 'wmedianf.mexw32' should be included under the same % directory as this code.
2022-03-23 20:35:03 29KB MahNMF MahNMF code
1