其他分享
首页 > 其他分享> > 拟牛顿法,DFP,BFGS,SR-1

拟牛顿法,DFP,BFGS,SR-1

作者:互联网

1.拟牛顿法思想

考虑\(f(x)\)在当前是\(x^k\)处的二次函数

\[m_k(x):=f(x^k)+\nabla f(x^k)^T(x-x^k)+\frac{1}{2}(x-x^k)^TB_k(x-x^k) \]

其中\(B_k\succ 0\)
利用min \(m_k(x)\)得方向,\(d^k=-B_k^{-1}\nabla f(x^k)\)
拟牛顿法框架

关键问题:\(B_{k+1}\)矩阵的确定

2.拟牛顿法方程(基本要求)

在\(x^{k+1}\)处,要获得\(B_{k+1}\)

\[\nabla f(x^{k+1})-\nabla f(x^k)=B_{k+1}(x^{k+1}-x^k) \]

理解

\[\begin{cases}x^{k+1}:\nabla f(x^{k+1});B_{k+1}\\ x^{k}:\nabla f(x^{k});B_{k} \end{cases} \]

\[\Rightarrow \nabla f(x^{k+1})-\nabla f(x^k)=\nabla^2f(\xi)(x^{k+1}-x^k) \]

\[\xi =\lambda x^k +(1-\lambda) x^{k+1},\lambda \in {0,1},中值定理 \]

\[\]

\(({B_{k+1}})_{n\times n}\in S^n,有\frac{n(n+1)}{2}个元素待定,n个方程\)
\(记y_k=\nabla f(x^{k+1})-\nabla f(x^k),s_k=x^{k+1}-x^k,上式简记为\)

\[y_k=B_{k+1}s_k \]

\(共记H_k=B_k^{-1}\)

拟牛顿法方程表示为

\[s_k=H_{k+1}y_k \]

满足拟牛顿法方程的矩阵有很多!

3.构建矩阵\(B_k\)方法

基于已有信息\((y_k,S_k,B_k)\)获取\(B_{k+1}\),或基于\((y_k,s_k,H_k)\)获取\(H_{k+1}\)
第一类方法,选择满足拟牛顿法方程且与\(B_k\)近似的矩阵

\[min\ ||B-B_k||(范数),s.t.\ Bs_k=y_k,B=B^T \]

或者

\[min\ ||H-H_k||,s.t.\ Hy_k = s_k \]

第二类方法:对\(B_k\)或者\(H_k\)进行校正,如(重点)

\[令B_{k+1}=B_k+\Delta B \]

\[\to rank-2校正,要求\Delta B的秩为2,有DFP方法,BFGS方法 \]

\[\to rank-1校正,要求\Delta B的秩为1,有SR-方法 \]

4.DFP方法(Davidan-Fletcher-Powell)

DFP方法可以看做是对\(H_k\)进行rank-2校正

\[(DFP)H_{k+1}=H_k-\frac{H_ky_ky_k^TH_k}{y_k^TH_ky_k} + \frac{s_ks_k^T}{y_k^Ts_k} \]

什么是秩1 矩阵?
\(任意向量 u=\begin{pmatrix} u_1 \\ u_2 \\ ...\\ u_n \end{pmatrix}, v=\begin{pmatrix} v_1 \\ v_2 \\ ...\\ v_n \end{pmatrix},u^Tv就是秩1矩阵,u^Tu也是秩1矩阵,u^Tu+v^Tv就是秩2矩阵,u,v线性无关\)

则\(H_{k+1}=H_k+auu^T+bw^T,a,b是标量,u,v\in R^n,注意s.t.\ H_{k+1}y_k=s_k\)
\(代入H_ky_k+auu^Ty_k+bvv^Ty_k=s_k\)
\(H_ky_k+auu^Ty_k+bvv^Ty_k-s_k=0\)
\(令u=H_ky_k,并且令前面一半H_ky_k+auu^Ty_k =0(随便取一个解就行)\)
\(得到1+au^Ty_k=0\)
\(即a=-\frac{1}{u^Ty_k}=-\frac{1}{y_k^TH_k^Ty_k}\)
\(继续令 v=s_k,并令bv(v^Ty_k)-s_k=0,得到(bv^Ty_k-1)=0,b=\frac{1}{v^Ty_k}=\frac{1}{s_k^Ty_k}\)
好了,结合上面两个结论就是DFP的公式
\(\begin{cases} a=-\frac{1}{u^Ty_k}=-\frac{1}{y_k^TH_k^Ty_k}\\ b=\frac{1}{v^Ty_k}=\frac{1}{s_k^Ty_k} \end{cases}\)


还有一条路,如果矩阵范数恰好是Frobenius范数,\(B_{k+1}\)是可以求出来的,也就是最优偶问题
\(\begin{cases} min\ ||B-B_k||_F\\ s.t.\ Bs_k =y_k \\ B=B^T \end{cases}\Rightarrow B^*=B_{k+1}\),同时,\(B_{k+1}\)的公式就是DFP公式

5.BFGS(Broyden-Fletcher-Goldfarb-Shannon)方法

这个Shannon 就是信息论的鼻祖
BFGS主要是从\(B_k\),不是从\(H_k\)入手
BFGS公式

\[B_{k+1}=B_k-\frac{B_k}{s_ks_k^TB_k}{s_k^TB_ks_k}+\frac{y_ky_k^T}{y_k^Ts_k} \]

推导过程和DFP过程是对称的
求\(B_{k+1}还要求逆,这么多此一举的原因是什么\)?
\(B_{k+1}^{-1}可利用Sherman-Morrison公式显示写出\)

Sherman-Morrison公式

\(设A\in R^{m\times n},且A为可逆矩阵,u,v\in R^n为列向量,则A+uv^T可逆,当且仅当1+v^TA^{-1}u\ne0,且当A+uv^T可逆时,该逆矩阵公式如下\)

\[(A+uv^T)^{-1}=A^{-1}-\frac{A^{-1}uv^{-1}A^{-1}}{1+v^TA^{-1}u} \]

证明
\(思路,即证明(A+uv^T)(A+uv^T)^T=(A+uv^T)^T(A+uv^T)=I即可\)
\((A+uv^T)(A^{-1}-\frac{A^{-1}uv^{-1}A^{-1}}{1+v^TA^{-1}u})\)
\(=AA^{-1}+uv^TA^{-1}-\frac{AA^{-1}uv^TA^{-1}+uv^TA^{-1}uv^TA^{-1}}{1+v^TA^{-1}u}\)
\(=I+uv^TA^{-1}-\frac{u(1+v^TA^{-1}u)}{1+v^TA^{-1}u}\)
\(注意此时的分母1+v^TA^{-1}u 是一个标量,上下可以约去,不过要求1+v^TA^{-1}u \ne 0\)
\(=I+uv^TA^{-1}-uv^TA^{-1}\)
\(=I\)

扩展
\((A+\frac{uv^T}{\lambda})^{-1}=A^{-1}-\frac{A^{-1}uvA^{-1}}{\lambda + v^TA^{-1}u}\)
\(或者 (A-\frac{uv^T}{\lambda})^{-1}=A^{-1}-\frac{A^{-1}uvA^{-1}}{\lambda - v^TA^{-1}u}\)


回到BFGS
BFGS是目前最有效的拟牛顿法,具有超线性收敛的性质

6.Broyden族

DFP与BFGS的线性组合
\(\lambda B_{k+1}^{DFP} + (1-\lambda ) B_{k+1}^{BFGS},\lambda \in [0,1]\)

7.SR-1方法

rank-1校正

\[B_{k+1}=B_{k}+\frac{(y_k-B_ks_k)(y_k-B_ks_k)^T}{(y_k-B_ks_k)s_k} \]

\[B_{k+1}=B_k+auu^T \]

\[满足\quad B_{k+1}s_k=y_k \]

\[B_ks+k+au(u^Ts_k)=y_k \]

\[au(u^Ts_k)=y_k-B_ks_k \]

\(令u=y_k-B_ks_k,得到au^Ts_k=1\)
\(即a=\frac{1}{u^Ts_k}=\frac{1}{(y_k-B_ks_k)^Ts_k}\)
将\(\begin{cases} u=y_k-B_ks_k \\ a=\frac{1}{u^Ts_k}=\frac{1}{(y_k-B_ks_k)^Ts_k}\\ \end{cases}代入 \quad B_{k+1}s_k=y_k\)

SR-1迭代公式更简单,但不能保证正定性,适当条件下才能达到n步超线性收敛

标签:BFGS,nabla,frac,Ty,SR,uv,DFP,ks,TA
来源: https://www.cnblogs.com/boyknight/p/16058125.html