漫步最优化四十二——Partan法

来源:互联网 发布:2007excel数据有效性 编辑:程序博客网 时间:2024/06/07 20:29










I can dream about you.
——

在早期的最优化中,对于两变量函数来说,用最速下降法得出的解轨迹表征出zig-zag模式。对于某些性质较好的函数,相邻的解差不多组成两条线,他们在最小值的邻域内相交,如图1所示,因此比较明显的策略是连接初始点与第二个解,沿着这个方向执行最速下降法。对于凸二次函数,在n次迭代内就能收敛,这个方法也被称为parallel tangent法或着partan法,这是因为在二次函数的情况下,所得轮廓的正切属性。

这里写图片描述
图1

Partan算法如图2所示,假设初始点为x0,并利用两次最速下降法得到点x1,y1,然后沿着y1x1方向进行线搜索得到点x2,这就完成了第一次迭代。对于第二次迭代,对点x2执行最速下降得到点y2,沿着y2x1方向得到点x3,一直重复此过程。从效果上看,图2中的点y1,y2,是通过最速下降法得到的而x2,x3,是沿着方向y2x1,y3x2,方向用线搜索得到的。

这里写图片描述
图2

对于凸二次问题,连接x1,x2,,xk的线组成一个共轭梯度方向集,可以通过以下方法来证明:先假设d0,d1,,dk1是共轭梯度方向集,然后说明dkd0,d1,,dk1的共轭梯度方向。

考虑图3所示的步骤,注意到

gTkdi=0for 0i<k(1)

根据之前共轭梯度的结论可知点xk1处的梯度可以写成

gk1=i=0k1aidi

其中ai,i=0,1,,k1为常数,所以

gTkgk1=gTk(b+Hxk1)=i=0k1aigTkdi=0(2)

或者

gTkb=gTkHxk1(3)

因为yk是点xk用最速下降法得到的,所以我们有

ykxk=gk

另外

g(yk)Tgk=gTk(b+Hyk)=0

或者

gTkb=gTkHyk(4)

因此,根据等式3与4可得

gTkH(ykxk1)=0(5)


这里写图片描述
图3

因为
ykxk1=β(xk1xk1)

其中β是常数,等式5可以写成

gTkH(xk+1xk1)=0

或者

gTkHxk+1=gTkHxk1(6)

接下来我们能够写成

gTkHxk+1=gTkHxk1(7)

那么根据

gTkgk+1=gTk(b+Hxk+1)(8)

以及等式2,等式6与等式9可得

gTkgk+1=gTk(b+Hxk1)=gTkgk1=0(9)

xk+1是在xk+1yk方向上使用线搜索得到的,因此

gTk+1(xk+1yk)=0(10)

从图3可以看出

xk+1=xk+dk(11)


yk=xkαgk(12)

其中α是最小化f(xkαgk)α值,因此等式9,10与11得到

gTk+1(dk+αkgk)=0

或者

gTk+1dk+αkgTkgk+1=0(13)

接下来根据等式8与12可得

gTk+1dk=0

再结合等式1与13可得

gTk+1di=0for 0i<k+1

原创粉丝点击