牛顿法和拟牛顿法

牛顿法和拟牛顿法

跟最速下降法一样, 牛顿法也是求解无约束优化问题最早使用的经典算法之一. 其基本思想是用迭代点xkx_kxk处的一阶导数 (梯度) 和二阶导数 (Hesse阵) 对目标函数进行二次函数近似, 然后把二次模型的极小点作为新的迭代点, 并不断重复这一过程, 直至求得满足精度的近似极小点
无约束最优化问题
min⁡x∈Rnf(x)\min _{x \in \mathbf{R}^{n}} f(x)xRnminf(x)牛顿法迭代公式推导
f(x)f(x)f(x) 的 Hesse 阵G(x)=∇2f(x)G(x)=\nabla^{2} f(x)G(x)=2f(x) 连续, 其在xkx_kxk处的泰勒展开式的前三项:f(x)=fk+gkT(x−xk)+12(x−xk)TGk(x−xk)f(x)=f_{k}+g_{k}^{T}\left(x-x_{k}\right)+\frac{1}{2}\left(x-x_{k}\right)^{T} G_{k}\left(x-x_{k}\right)f(x)=fk+gkT(xxk)+21(xxk)TGk(xxk)这里fk=f(xk),gk=∇f(xk),Gk=∇2f(xk)=[∂2f∂xi∂xj]n×n⁡f_{k}=f\left(x_{k}\right), g_{k}=\nabla f\left(x_{k}\right), G_{k}=\nabla^{2} f\left(x_{k}\right)=\left[\frac{\partial^{2} f}{\partial x_{i} \partial x_{j}}\right]_{\operatorname{n \times n}}fk=f(xk),gk=f(xk),Gk=2f(xk)=[xixj2f]n×n
由函数fff有极值的必要条件是在极值点处一阶导数(梯度)为000,当Hesse阵是正定矩阵时,有极小值.对f(x)f(x)f(x)求一阶导得∇f(x)=gk+Gk(x−xk)=0\nabla f(x)=g_{k}+G_{k}\left(x-x_{k}\right)=0f(x)=gk+Gk(xxk)=0GkG_{k}Gk非奇异,由上式得牛顿法的迭代公式xk+1=xk−Gk−1gkx_{k+1}=x_{k}-G_{k}^{-1} g_{k}xk+1=xkGk1gk每次迭代需求Hesse阵的逆Gk−1G_{k}^{-1}Gk1,实际中可通过先解Gkdk=−gkG_{k} d_{k}=-g_{k}Gkdk=gkdkd_kdk,然后令xk+1=xk+dkx_{k+1}=x_{k}+d_{k}xk+1=xk+dk来避免求逆.
迭代终止:计算gk=∇f(xk)g_{k}=\nabla f\left(x_{k}\right)gk=f(xk),若∥gk∥≤ε\left\|g_{k}\right\| \leq \varepsilongkε,停算输出x∗≈xkx^{*} \approx x_{k}xxk
拟牛顿法
牛顿法的优点是具有二阶收敛速度,但当Hesse阵G(xk)=∇2f(xk)G\left(x_{k}\right)=\nabla^{2} f\left(x_{k}\right)G(xk)=2f(xk)不正定时,不能保证所产生的方向是目标函数在xkx_kxk处的下降方向. 特别G(xk)G\left(x_{k}\right)G(xk)奇异时,算法无法继续进行下去,尽管修正牛顿法可以克服这一缺陷, 但其中的修正参数μk\mu_{k}μk的选取很难把握, 过大或过小都会影响到收敛速度. 此外, 牛顿法的每一迭代步都需要目标函数的二阶导数, 即 Hesee 阵, 对于大规模问题其计算量是惊人的.
即将介绍的拟牛顿法克服了这些缺点, 并且在一定条件下这类算法仍然 具有较快的收敛速度 — 超线性收敛速度.
拟牛顿法的基本思想是在牛顿法中用某个近似矩阵BkB_kBk取代Hesee阵Gk=∇2f(xk)G_{k}=\nabla^{2} f\left(x_{k}\right)Gk=2f(xk) . 通常BkB_kBk应具有下面的三个特点
(1)(1)(1) Bk≈GkB_{k} \approx G_{k}BkGk, 使相应的算法产生的方向近似于牛顿方向,以确保算法有较快的收敛速度.
(2)(2)(2) 所有的BkB_kBk是对称正定的,从而使得算法所产生的搜索方向是函数fffxkx_kxk处的下降方向.
(3)(3)(3) 矩阵BkB_kBk更新规则相对简单,即通常采用一个秩111或秩222矩阵进行校正.
f:Rn→Rf : \mathbb{R}^{n} \rightarrow \mathbb{R}f:RnR在开集D⊂RnD \subset \mathbb{R}^{n}DRn上二次连续可微, fffxk+1x_{k+1}xk+1处二次近似模型为:f(x)≈f(xk+1)+gk+1T(x−xk+1)+12(x−xk+1)TGk+1(x−xk+1)f(x) \approx f\left(x_{k+1}\right)+g_{k+1}^{T}\left(x-x_{k+1}\right)+\frac{1}{2}\left(x-x_{k+1}\right)^{T} G_{k+1}\left(x-x_{k+1}\right)f(x)f(xk+1)+gk+1T(xxk+1)+21(xxk+1)TGk+1(xxk+1)对上式求导得 g(x)≈gk+1+Gk+1(x−xk+1)g(x) \approx g_{k+1}+G_{k+1}\left(x-x_{k+1}\right)g(x)gk+1+Gk+1(xxk+1)x=xkx=x_{k}x=xk,位移sk=xk+1−xks_{k}=x_{k+1}-x_{k}sk=xk+1xk,梯度差yk=gk+1−gky_{k}=g_{k+1}-g_{k}yk=gk+1gk ,则有Gk+1sk≈yk(1)G_{k+1} s_{k} \approx y_{k}\qquad(1)Gk+1skyk(1)构造Hesse阵的近似矩阵BkB_kBk满足这种关系,即
Bk+1sk=ykB_{k+1} s_{k}=y_{k}Bk+1sk=yk上式称作拟牛顿方程或拟牛顿条件,令Hk+1=Bk+1−1H_{k+1}=B_{k+1}^{-1}Hk+1=Bk+11,则得到拟牛顿方程的另一形式:Hk+1yk=sk(2)H_{k+1} y_{k}=s_{k}\qquad(2)Hk+1yk=sk(2) 其中Hk+1H_{k+1}Hk+1是Hesse阵逆的近似.
由牛顿法搜索方向为dk=−Gk−1gkd_{k}=-G_{k}^{-1} g_{k}dk=Gk1gk ,因此拟牛顿法的搜索方向dk=−Hkgkd_{k}=-H_{k} g_{k}dk=HkgkBkdk=−gkB_{k} d_{k}=-g_{k}Bkdk=gk确定
根据BkB_kBk的第三个特点,可令Bk+1=Bk+Ek,Hk+1=Hk+Dk(3)B_{k+1}=B_{k}+E_{k}, \quad H_{k+1}=H_{k}+D_{k} \qquad (3)Bk+1=Bk+Ek,Hk+1=Hk+Dk(3)其中Ek,DkE_{k}, D_{k}Ek,Dk是秩111或秩222矩阵。
将拟牛顿方程(1)(1)(1)和校正规则(3)(3)(3)确立的方法称为拟牛顿法

对称秩111校正公式,在(3)(3)(3)中取Ek=αukukTE_{k}=\alpha u_{k} u_{k}^{T}Ek=αukukT(秩111矩阵性质),其中α∈R,uk∈Rn\alpha \in \mathbb{R}, u_{k} \in \mathbb{R}^{n}αR,ukRn由拟牛顿方程(1)(1)(1)(Bk+αukukT)sk=yk\left(B_{k}+\alpha u_{k} u_{k}^{T}\right) s_{k}=y_{k}(Bk+αukukT)sk=ykα(ukTsk)uk=yk−Bksk(4)\alpha\left(u_{k}^{T} s_{k}\right) u_{k}=y_{k}-B_{k} s_{k} \qquad(4)α(ukTsk)uk=ykBksk(4) (ukTsk)\left(u_{k}^{T} s_{k}\right)(ukTsk)计算结果为一常数,因此上式表明向量uku_kuk平行于(yk−Bksk)\left(y_{k}-B_{k} s_{k}\right)(ykBksk),即存在常数β\betaβ使得uk=β(yk−Bksk)u_{k}=\beta\left(y_{k}-B_{k} s_{k}\right)uk=β(ykBksk),故有Ek=αβ2(yk−Bksk)(yk−Bksk)TE_{k}=\alpha \beta^{2}\left(y_{k}-B_{k} s_{k}\right)\left(y_{k}-B_{k} s_{k}\right)^{T}Ek=αβ2(ykBksk)(ykBksk)T于是,由(4)(4)(4)αβ2[(yk−Bksk)Tsk](yk−Bksk)=(yk−Bksk)\alpha \beta^{2}\left[\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}\right]\left(y_{k}-B_{k} s_{k}\right)=\left(y_{k}-B_{k} s_{k}\right)αβ2[(ykBksk)Tsk](ykBksk)=(ykBksk)
(yk−Bksk)Tsk≠0\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k} \neq 0(ykBksk)Tsk̸=0,可取αβ2[(yk−Bksk)Tsk]=1\alpha \beta^{2}\left[\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}\right]=1αβ2[(ykBksk)Tsk]=1,即αβ2=1(yk−Bksk)Tsk,Ek=(yk−Bksk)(yk−Bksk)T(yk−Bksk)Tsk\alpha \beta^{2}=\frac{1}{\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}}, \quad E_{k}=\frac{\left(y_{k}-B_{k} s_{k}\right)\left(y_{k}-B_{k} s_{k}\right)^{T}}{\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}}αβ2=(ykBksk)Tsk1,Ek=(ykBksk)Tsk(ykBksk)(ykBksk)T故得称秩111校正公式:Bk+1=Bk+(yk−Bksk)(yk−Bksk)T(yk−Bksk)TskB_{k+1}=B_{k}+\frac{\left(y_{k}-B_{k} s_{k}\right)\left(y_{k}-B_{k} s_{k}\right)^{T}}{\left(y_{k}-B_{k} s_{k}\right)^{T} s_{k}}Bk+1=Bk+(ykBksk)Tsk(ykBksk)(ykBksk)T类似可得Hk+1=Hk+(sk−Hkyk)(sk−Hkyk)T(sk−Hkyk)TykH_{k+1}=H_{k}+\frac{\left(s_{k}-H_{k} y_{k}\right)\left(s_{k}-H_{k} y_{k}\right)^{T}}{\left(s_{k}-H_{k} y_{k}\right)^{T} y_{k}}Hk+1=Hk+(skHkyk)Tyk(skHkyk)(skHkyk)T

BFGS算法
其基本思想是:在上节拟牛顿法(3)(3)(3)式中修正矩阵EkE_kEk为秩222矩阵:Ek=αukukT+βvkvkTE_{k}=\alpha u_{k} u_{k}^{T}+\beta v_{k} v_{k}^{T}Ek=αukukT+βvkvkT其中uk,vk∈Rnu_{k}, v_{k} \in \mathbb{R}^{n}uk,vkRn是待定向量,α,β∈R\alpha, \beta \in \mathbb{R}α,βR是待定实数,于是拟牛顿方程(1)(1)(1)可得(Bk+αukukT+βvkvkT)sk=yk\left(B_{k}+\alpha u_{k} u_{k}^{T}+\beta v_{k} v_{k}^{T}\right) s_{k}=y_{k}(Bk+αukukT+βvkvkT)sk=ykα(ukTsk)uk+β(vkTsk)vk=yk−Bksk\alpha\left(u_{k}^{T} s_{k}\right) u_{k}+\beta\left(v_{k}^{T} s_{k}\right) v_{k}=y_{k}-B_{k} s_{k}α(ukTsk)uk+β(vkTsk)vk=ykBksk满足上式的向量uku_kukvkv_kvk不唯一,可取uku_kukvkv_kvk分别平行于BkskB_{k} s_{k}Bkskyky_kyk,即令uk=γBksk,vk=θyku_{k}=\gamma B_{k} s_{k}, v_{k}=\theta y_{k}uk=γBksk,vk=θyk,其中γ,θ\gamma, \thetaγ,θ是待定参数,于是我们有 Ek=αγ2BkskskTBk+βθ2ykykTE_{k}=\alpha \gamma^{2} B_{k} s_{k} s_{k}^{T} B_{k}+\beta \theta^{2} y_{k} y_{k}^{T}Ek=αγ2BkskskTBk+βθ2ykykTuku_kukvkv_kvk的表达式代入α(ukTsk)uk+β(vkTsk)vk=yk−Bksk\alpha\left(u_{k}^{T} s_{k}\right) u_{k}+\beta\left(v_{k}^{T} s_{k}\right) v_{k}=y_{k}-B_{k} s_{k}α(ukTsk)uk+β(vkTsk)vk=ykBkskα[(γBksk)Tsk](γBksk)+β[(θyk)Tsk](θyk)=yk−Bksk\alpha\left[\left(\gamma B_{k} s_{k}\right)^{T} s_{k}\right]\left(\gamma B_{k} s_{k}\right)+\beta\left[\left(\theta y_{k}\right)^{T} s_{k}\right]\left(\theta y_{k}\right)=y_{k}-B_{k} s_{k}α[(γBksk)Tsk](γBksk)+β[(θyk)Tsk](θyk)=ykBksk整理得[αγ2(skTBksk)+1]Bksk+[βθ2(ykTs)−1]yk=0\left[\alpha \gamma^{2}\left(s_{k}^{T} B_{k} s_{k}\right)+1\right] B_{k} s_{k}+\left[\beta \theta^{2}\left(y_{k}^{T} s\right)-1\right] y_{k}=0[αγ2(skTBksk)+1]Bksk+[βθ2(ykTs)1]yk=0此时可令αγ2(skTBksk)+1=0\alpha \gamma^{2}\left(s_{k}^{T} B_{k} s_{k}\right)+1=0αγ2(skTBksk)+1=0βθ2(ykTs)−1=0\beta \theta^{2}\left(y_{k}^{T} s\right)-1=0βθ2(ykTs)1=0,即αγ2=−1skTBksk,βθ2=1ykTsk\alpha \gamma^{2}=-\frac{1}{s_{k}^{T} B_{k} s_{k}}, \quad \beta \theta^{2}=\frac{1}{y_{k}^{T} s_{k}}αγ2=skTBksk1,βθ2=ykTsk1从而得到如下得BFGS秩222修正公式:Bk+1=Bk−BkskskTBkskTBksk+ykykTykTskB_{k+1}=B_{k}-\frac{B_{k} s_{k} s_{k}^{T} B_{k}}{s_{k}^{T} B_{k} s_{k}}+\frac{y_{k} y_{k}^{T}}{y_{k}^{T} s_{k}}Bk+1=BkskTBkskBkskskTBk+ykTskykykT显然,若BkB_kBk对称,校正后的Bk+1B_{k+1}Bk+1也对称。
引理:设BkB_kBk对称正定,Bk+1B_{k+1}Bk+1由BFGS校正公式确定,那么Bk+1B_{k+1}Bk+1对称正定的充要条件是ykTsk>0y_{k}^{T} s_{k}>0ykTsk>0

DFP算法
类似于BFGS校正公式的推导,可得DFP校正公式如下
Hk+1=Hk−HkykykTHkykTHkyk+skskTskTykH_{k+1}=H_{k}-\frac{H_{k} y_{k} y_{k}^{T} H_{k}}{y_{k}^{T} H_{k} y_{k}}+\frac{s_{k} s_{k}^{T}}{s_{k}^{T} y_{k}}Hk+1=HkykTHkykHkykykTHk+skTykskskT显然,若HkH_kHk对称,校正后的Hk+1H_{k+1}Hk+1也对称
引理:设HkH_kHk对称正定,Hk+1H_{k+1}Hk+1由DFP校正公式确定,那么Hk+1H_{k+1}Hk+1对称正定的充要条件是skTyk>0s_{k}^{T} y_{k}>0skTyk>0

Broyden族算法
由BFGS和DFP校正的凸组合产生的一类校正族Bk+1θ=θkBk+1DFP+(1−θk)Bk+1BFGS=Bk−BkskskTBkskTBksk+ykykTskTyk+θkukukT\begin{aligned} B_{k+1}^{\theta} &=\theta_{k} B_{k+1}^{\mathrm{DFP}}+\left(1-\theta_{k}\right) B_{k+1}^{\mathrm{BFGS}} \\ &=B_{k}-\frac{B_{k} s_{k} s_{k}^{T} B_{k}}{s_{k}^{T} B_{k} s_{k}}+\frac{y_{k} y_{k}^{T}}{s_{k}^{T} y_{k}}+\theta_{k} u_{k} u_{k}^{T} \end{aligned}Bk+1θ=θkBk+1DFP+(1θk)Bk+1BFGS=BkskTBkskBkskskTBk+skTykykykT+θkukukT其中,θk\theta_{k}θk为实参数,uku_kuk由下式定义:uk=skTBksk(ykykTsk−BksksTBksk)u_{k}=\sqrt{s_{k}^{T} B_{k} s_{k}}\left(\frac{y_{k}}{y_{k}^{T} s_{k}}-\frac{B_{k} s_{k}}{s^{T} B_{k} s_{k}}\right)uk=skTBksk(ykTskyksTBkskBksk)这类校正公式称为Broyden族,可以发现当θk=0\theta_{k}=0θk=0,即得到BFGS公式,当θk=1\theta_{k}=1θk=1得到DFP公式
对应地,关于HkH_kHk的Broyden族校正公式为Hk+1ϕ=ϕkHk+1BFGS+(1−ϕk)Hk+1DFP=Hk−HkykykTHkykTHkyk+skskTskTyk+ϕkvkvkT\begin{aligned} H_{k+1}^{\phi} &=\phi_{k} H_{k+1}^{\mathrm{BFGS}}+\left(1-\phi_{k}\right) H_{k+1}^{\mathrm{DFP}} \\ &=H_{k}-\frac{H_{k} y_{k} y_{k}^{T} H_{k}}{y_{k}^{T} H_{k} y_{k}}+\frac{s_{k} s_{k}^{T}}{s_{k}^{T} y_{k}}+\phi_{k} v_{k} v_{k}^{T} \end{aligned}Hk+1ϕ=ϕkHk+1BFGS+(1ϕk)Hk+1DFP=HkykTHkykHkykykTHk+skTykskskT+ϕkvkvkT其中ϕk\phi_{k}ϕk为实参数,vkv_kvk由下式定义:vk=ykTHkyk(skykTsk−HkykykTHkyk)v_{k}=\sqrt{y_{k}^{T} H_{k} y_{k}}\left(\frac{s_{k}}{y_{k}^{T} s_{k}}-\frac{H_{k} y_{k}}{y_{k}^{T} H_{k} y_{k}}\right)vk=ykTHkyk(ykTskskykTHkykHkyk)可以证明参数θk\theta_{k}θkϕk\phi_{k}ϕk之间的关系为θk=1−ϕk1−ϕk(1−μk)\theta_{k}=\frac{1-\phi_{k}}{1-\phi_{k}\left(1-\mu_{k}\right)}θk=1ϕk(1μk)1ϕk
其中μk=(skTBksk)(ykTHkyk)(skTyk)2\mu_{k}=\frac{\left(s_{k}^{T} B_{k} s_{k}\right)\left(y_{k}^{T} H_{k} y_{k}\right)}{\left(s_{k}^{T} y_{k}\right)^{2}}μk=(skTyk)2(skTBksk)(ykTHkyk)
ukTsk=0u_{k}^{T} s_{k}=0ukTsk=0vkTyk=0v_{k}^{T} y_{k}=0vkTyk=0,因此Broyden族校正公式于任何参数θk\theta_{k}θkϕk\phi_{k}ϕk都满足牛顿方程(1)(1)(1)(2)(2)(2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值