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










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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章