低秩矩阵恢复代码参考.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
function x_out= MSB(Aop,y_vec,s_x,lambda1,rnk,iter) % function [x_out obj_func]= MSB(Aop,y_vec,[m n],lambda1,rnk) % This code solves the problem of recovering a low rank matrix from its % lower dimensional projections % Minimize ||X||* (nuclear norm of Z) % Subject to A(X) = Y %formulated as an unconstarined nuclear norm minmization problem using Split bregman algorithm % Minmimize (lambda1)||W||* + 1/2 || A(X) - y ||_2^2 + eta/2 || W-X-B1 ||_2^2 %W is auxillary variable and B1 is the bregman variable %INPUTS %Aop : Linear operator %y_vec : Vector of observed values %s_x : size of the data matrix to be recovered (in form of [m n]) %lambda1:regularization parameter %rnk : rank estimation for X %iter : maximum number of iterations to be carried out %OUTPUTS %x_out : recovered matrix if nargin 6 error( Insufficient Number of arguments ); end %Variable and parameter initialization eta1=.001; % Regularization parameter s_new=s_x(1)*s_x(2); W=zeros(s_new,1); % proxy variable B1=ones(s_new,1); % bregman variable % create operator for least square mimimization I=opDiag(s_new,1); Aop_concat = opStack([1 eta1],Aop,I); %run iterative algorithm for iteration=1:iter %measurement vector for L2 minimization b_vec=[y_vec;eta1*(W-B1)]; %L2 minimization step (subproblem 1) X=lsqr(@lsqrAop,b_vec); %Nuclear norm minization Step (subproblem 2) W=X+B1; [W, s_thld]=nuc_norm(W,s_x,s_new,lambda1,eta1,rnk); %bregman variable update B1 = B1+X-W; %Objective function value obj_func(iteration)=0.5*norm(y_vec-Aop(X,1))+ lambda1*sum(s_thld) ; if iteration10 abs(obj_func(iteration)-obj_func(iteration-10))1e-7 break end end %reshaping recovered vector to matrix form x_out = reshape(X,s_x(1),s_x(2)); %Plot objective function plo

文档评论(0)

肖四妹学教育 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档