上传者: lzy969737017
|
上传时间: 2022-03-23 20:35:03
|
文件大小: 29KB
|
文件类型: -
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.