SUMMARIZE:Newton's method

来源:互联网 发布:适马17 50 f2.8数据 编辑:程序博客网 时间:2024/04/30 20:48

Newton’s method

牛顿法是求解无约束优化问题最古老的方法之一,到目前为止,它衍生出了不少其他的优化算法。那么在了解那些在牛顿法之上改进而得的算法之前,我们首先要了解一下基本牛顿法的思想。首先,牛顿法有两个应用,一个是求方程的根,一个是最优化。求方程的根是基于f(x)=0,而最优化这是基于f(0)=0.

牛顿法的基本思想

牛顿法的基本思想是利用目标函数的二次Taylor展开,并将其极小化。设f(x)是二次可微实函数,xkRn,Hessen矩阵2f(xk)正定,我们在xk附近用二次Taylor展开近似f
f(xk+ε)q(k)(ε)=f(xk)+f(xk)Tε+12εT2f(xk)ε
其中,ε=xxkq(k)f(x)的二次近似。当ε0(对上式左右两边关于ε求导),上式等价于:
f(xk)T+2f(xk)ε=0
求解得到:
xk+1=xk[2f(xk)]1f(xk)
这就是牛顿迭代公式。
在这个公式中,步长因子αk=1,令Gk=2f(xk)gk=f(xk),上式可以写为:
xk+1=xkG1kgk

牛顿法的另一种视角

一个很有意思的观点是认为牛顿法可以看成在椭圆范数.Gk下的最速下降法。
f(xk+ε)f(xk)+gTkε
εk是极小化问题minεRngTkεε的解,它的值依赖于所取的范数。当采用l2范数时,εk=gk,即最速下降法;当采用椭圆范数.Gk时,εk=G1kgk,即牛顿法。

牛顿法的收敛性

牛顿收敛定理:
fC(2)xk充分靠近xf(x)=0,如果2f(x)正定,且Hesse矩阵G(x)满足Lipschitz条件,即存在β>0,使对于所有i,j,有
|Gij(x)Gij(y)|βxy
其中Gij(x)是Hesse矩阵G(x)的(i,j)元素。对于一切k,牛顿迭代法有定义,且所得序列xk收敛到x
证明:
ϵk=xkx,由Taylor公式
g(x)=g(xk+ϵ)=gk+Gkϵ+O(ϵ2)
ϵ=ϵk
0=g(x)=gkGkϵk+O(ϵk2)
由于上面的假设条件,故可以设xkx的领域中,且第k次牛顿迭代存在,用G1k乘上等式两边得:
0=G1kgkϵk+O(ϵk2)=εkϵk+O(εk2)=ϵk+1+O(εk2)
由O(.)的定义知,存在常数C使得:
ϵk+1Cϵk2
xk{x|ϵλ/C,λ(0,1)},则有
ϵk+1λϵk
由归纳法,迭代对所有k有定义,且ϵ0。因此迭代收敛,并且收敛速度是二阶的。

带步长因子的牛顿法

当初始解远离最优解时,Gk不一定正定,牛顿方向不一定是下降方向,其收敛性不能保证。说明恒取步长因子为1的牛顿法是不合适的,应该在牛顿法中采用某种一维搜索。注意,当且仅当步长因子{αk}取1时,牛顿法才是二阶收敛的。
dk=G1kgk
xk+1=xk+αkdk
step1 选取初始数据,取初始点x0,终止误差ε>0,令k:=0
step2 计算gk,如果gk<ε,停止迭代,输出答案,否则进行step3
step3 解方程组构造牛顿方向,即解Gkd=gk,求出dk
step4 进行一维搜索,求αk使得
f(xk+αkdk)=minα0f(xk+αdk)
xk+1=xk+αkdk,k:=k+1转step2


牛顿法的主要局限在于,他是一种基于梯度的方法,并且,他假定Hesse矩阵正定。

reference:计算方法丛书,最优化理论与方法,袁亚湘,孙文瑜

0 0
原创粉丝点击