最速下降法 与牛顿法 SteepestDescent Methods & Newton Methods
内容提要
最速下降法 针对二次函数的收敛速度分析 收敛图示/香蕉函数 Newton法 实用Newton法 BB算法 一个有研究价值的例子 Matlab程序示例
steepest-descent direction
梯度 g= 4u’u u-4Au
Hessian矩阵 4u’u *I+8uu’-4A 改进幂法? 思路一 Since A ≈uu’ (4u’u+4uu’) d = -g 用秩一求逆公式 u+=u + d 思路二 (12u’uu’u -4u’Au)/u’u * d=-g
Matlab程序示例 计算 Min ||A-X||F S.t. Rank(X)=1 X≥0
X = max(0,u1) *S(1,1)*max(0,-v1)'; temp3 = norm(A-X,'fro'); X = max(0,-u1) *S(1,1)*max(0,-v1)'; temp4 = norm(A-X,'fro') ; fval1 = min([temp1 temp2 temp3 temp4]);
m=10 n=20 残差 14.38 CPU 58.032s
function fval=opt_3(A) %直接调用无约束优化函数fminunc [m n]=size(A); [U,S,V] = svd(A); S11 = S(1,1); x=fminunc((x) myfun_3(x,A,S11),ones(n+m)); fval = myfun_3(x,A,S11); fval = sqrt(fval); function F = myfun_3(x,A,S11) [m n]=size(A); F=0; for i=1:m for j=1:n F = F+(A(i,j)-x(i)^2*S11*x(m+j)^2)^2; end end