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

1.拟牛顿法思想

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

mk(x):=f(xk)+f(xk)T(xxk)+12(xxk)TBk(xxk)

其中Bk0
利用min mk(x)得方向,dk=Bk1f(xk)
拟牛顿法框架

  • 0.初始化 x0,ϵ,B00,k:=0
  • 1.如果||f(xk)||ϵ?,注意这里对矩阵是做范数操作
  • 2.计算dk=Bk1f(xk),这里矩阵Bk每次都要修正
  • 3.确定步长αk
  • 4.令xk+1=xk+αkdk

关键问题:Bk+1矩阵的确定

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

xk+1处,要获得Bk+1

f(xk+1)f(xk)=Bk+1(xk+1xk)

理解

{xk+1:f(xk+1);Bk+1xk:f(xk);Bk

f(xk+1)f(xk)=2f(ξ)(xk+1xk)

ξ=λxk+(1λ)xk+1,λ0,1,

(Bk+1)n×nSn,n(n+1)2,n
yk=f(xk+1)f(xk),sk=xk+1xk,

yk=Bk+1sk

Hk=Bk1

拟牛顿法方程表示为

sk=Hk+1yk

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

3.构建矩阵Bk方法

基于已有信息(yk,Sk,Bk)获取Bk+1,或基于(yk,sk,Hk)获取Hk+1
第一类方法,选择满足拟牛顿法方程且与Bk近似的矩阵

min ||BBk||(),s.t. Bsk=yk,B=BT

或者

min ||HHk||,s.t. Hyk=sk

第二类方法:对Bk或者Hk进行校正,如(重点)

Bk+1=Bk+ΔB

rank2ΔB2DFPBFGS

rank1ΔB1SR

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

DFP方法可以看做是对Hk进行rank-2校正

(DFP)Hk+1=HkHkykykTHkykTHkyk+skskTykTsk

什么是秩1 矩阵?
u=(u1u2...un),v=(v1v2...vn),uTv1uTu1uTu+vTv2,u,v线

Hk+1=Hk+auuT+bwTa,bu,vRn,s.t. Hk+1yk=sk
Hkyk+auuTyk+bvvTyk=sk
Hkyk+auuTyk+bvvTyksk=0
u=Hkyk,Hkyk+auuTyk=0(便)
1+auTyk=0
a=1uTyk=1ykTHkTyk
v=sk,bv(vTyk)sk=0,(bvTyk1)=0,b=1vTyk=1skTyk
好了,结合上面两个结论就是DFP的公式
{a=1uTyk=1ykTHkTykb=1vTyk=1skTyk


还有一条路,如果矩阵范数恰好是Frobenius范数,Bk+1是可以求出来的,也就是最优偶问题
{min ||BBk||Fs.t. Bsk=ykB=BTB=Bk+1,同时,Bk+1的公式就是DFP公式

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

这个Shannon 就是信息论的鼻祖
BFGS主要是从Bk,不是从Hk入手
BFGS公式

Bk+1=BkBkskskTBkskTBksk+ykykTykTsk

推导过程和DFP过程是对称的
Bk+1?
Bk+11ShermanMorrison

Sherman-Morrison公式

ARm×n,Au,vRn,A+uvT1+vTA1u0,A+uvT

(A+uvT)1=A1A1uv1A11+vTA1u

证明
(A+uvT)(A+uvT)T=(A+uvT)T(A+uvT)=I
(A+uvT)(A1A1uv1A11+vTA1u)
=AA1+uvTA1AA1uvTA1+uvTA1uvTA11+vTA1u
=I+uvTA1u(1+vTA1u)1+vTA1u
1+vTA1u1+vTA1u0
=I+uvTA1uvTA1
=I

扩展
(A+uvTλ)1=A1A1uvA1λ+vTA1u
(AuvTλ)1=A1A1uvA1λvTA1u


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

6.Broyden族

DFP与BFGS的线性组合
λBk+1DFP+(1λ)Bk+1BFGS,λ[0,1]

7.SR-1方法

rank-1校正

Bk+1=Bk+(ykBksk)(ykBksk)T(ykBksk)sk

Bk+1=Bk+auuT

Bk+1sk=yk

Bks+k+au(uTsk)=yk

au(uTsk)=ykBksk

u=ykBksk,auTsk=1
a=1uTsk=1(ykBksk)Tsk
{u=ykBkska=1uTsk=1(ykBksk)TskBk+1sk=yk

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

posted @   筷点雪糕侠  阅读(371)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示