代码拉取完成,页面将自动刷新
同步操作将从 STOP/STOP 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
clear;
n = 1000;
p = 20;
gamma = 0.02;
m = 200;
A = randn(m, n);
A = A - repmat(mean(A, 1), m, 1);
scale = norm(A, 2);
A = A / scale;
A1 = A;
AtA = A' * A;
Xinit = randn(n, p);
[Xinit, ~] = qr(Xinit, 0);
opts.dim = [n, p];
% opts0.maxit = 8000;
% opts0.gtol = 1e-8;
opts.gamma = gamma;
% opts0.X = Xinit;
obj_fun = @fun_PCA_l1_lr;
tic
[out] = stop_slpg(obj_fun, opts, A, opts.gamma);
t_PenC = toc;
feas_penc = norm(out.X' * out.X - eye(p), 'fro');
semilogy(1:out.iter, out.kkts, 1:out.iter, out.feas, 1:out.iter, out.feas_subs)
function [fvalue,grad] = fun_PCA_l1_lr(X,A,gamma)
% min -0.5*(X^TA^TAX) + gamma* ||X||_1
% low-rank version
%
[n, p] = size(X);
AX = A * X;
AAX = A' * AX;
grad = -AAX;
fvalue = 0.5 * sum(sum(X .* grad)) + gamma * sum(sum(abs(X))) + 2 * norm(X' * X - eye(p), 'fro');
end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。