代码拉取完成,页面将自动刷新
同步操作将从 openKylin/cybersectookits 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
function [ X,iterations ] = SVT_sr(M,P,T,delta,itermax,tol)
%Single value thresholding algorithm,SVT
% function:solve the following optimization problem
% min ||X||*
% s.t. P(X-M) = 0
% X: recovered matrix
% M: observed matrix
% P: sampling set
% T: single value threshold
% output:X,iterations
% initialization
[n1,n2]=size(M);
% Y = zeros(size(M));
Y = P.*M;
iterations = 0;
eta = 1.1; % convergence control parameter
% lambda = 0.001; % regularization parameter
if nargin < 3
T = mean(M(M~=0)); % for speed
% T = sqrt(n1*n2)/0.1; % for accuracy
end
if nargin < 4
delta = 2; % delta: step size
end
if nargin < 5
itermax = 100 ;
end
if nargin < 6
tol = 1.25e-4;
end
for ii = 1:itermax
% singular value threshold operation
[U, S, V] = svd(Y, 'econ') ;
S = sign(S) .*max(abs(S) - T, 0) ; %
X = U*S*V';
% update auxiliary matrix Y
Y = Y + delta* P.* (M-X);
Y = P.*Y ;
% update delta
delta = delta/eta;
% computer error
error = norm( P.* (M-X),'fro' )/norm( P.* M,'fro' );
disp([ii, error]);
if error<tol
break;
end
% update iterations
iterations = ii ;
end
end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。