Line Search Method 1 - 步長計算 (Step length calculation)

本文是一系列關於 Numerical Optimization 的博客的第一篇,主要討論 Line Search Method 中步長 α 的計算。
該系列博客以 Nocedal 的 Numerical Optimization 一書(2006年第二版,下面簡稱“該書”)爲主題,討論書中的內容,並結合自己的仿真進行更生動形象的解釋。博客中所有在圖例中帶有 “Figure” 的圖片都是從Numerical Optimization 一書中截取的,在此予以說明。

在該書的前兩張,作者主要對優化算法進行了入門的介紹,以及一些數學基礎知識的回顧。從第三章開始將介紹主要內容,其中第三章主要介紹 Line Search Method。

Line Search Method,顧名思義,就是在某條線上去搜索下個迭代點的位置,即

xk+1=xk+αkpk
其中,pk 是(下降的)方向,αk 是步長。這就體現出其與 Trust Region Method 的不同之處,因爲後者是在當前迭代點的某個鄰域內去尋找下個迭代點的值。關於 Line Search Method 中所沿的那條線,具體不同的方法有不同的選擇。比如最速下降法(Steepest Descent Method)就是直接取當前點導數的反方向,即 f(x) ,而在牛頓法中的方向的選取則爲 2f(x)1f(x) ,在擬牛頓法中則有另外的選取方法,但這些方法所選取的方向都有一個共同之處就在於要求目標函數值在當前點沿着這個方向是下降的,即
pTkfk<0
在本文接下來的內容中會主要介紹步長 α 的選取,也就是說,在這裏我們認爲方向 pk 已經確定了,然後接下來的工作是找到一個合適的步長 α 。首先,我們能想到的就是求解一個單變量的優化命題,讓原目標函數在該方向上取得最大的下降量,即
minϕ(α)=f(xk+αpk),α>0
但一般來說,得到上面這個優化優化命題的解的代價往往很大,因爲即使是單變量優化命題,如果目標函數形狀很奇怪的話,如下面 Figure 3.1 ,這個方向上的最優點也是很難求的。

這裏寫圖片描述

這裏要說明的一點是,爲了保證算法能最終收斂到極小點,那麼對 α 一定是有要求的。比如,如果我們只是單純保證 α 的選取能使得目標函數之逐步下降的話,那麼這是不足夠的,例如下圖 Figure 3.2,目標函數的最小值是-1。如果我們選取補償使得目標函數的值以 f(xk)=5/k,k=1,2,... 這樣的級數收斂的話,那麼函數值將最終收斂到0而非最優值-1。

這裏寫圖片描述

因此,步長 αk 的選取必須滿足一定的條件才能保證迭代點收斂到極小點。其中一組條件被稱爲 The Wolfe Conditions,包括兩個不等式。首先是

f(xk+αkpk)f(xk)+c1αkf(xk)Tpk

其中,c1(0,1) 。這個條件的意思是,除了要保證目標函數的要有所下降之外,還要保證下降的程度要和步長 α 成正比,這一點也可以從 Figure 3.3 中看出來,可接受的 α 必須要使得迭代點的函數值在虛線以下。這裏注意,在實際中 c1 一般取一個較小的值,比如 c1=104
這裏寫圖片描述

但光這一個條件還不能保證迭代點的正確收斂,因爲從圖中可以看出當 α 取很小的值時,這個條件就一定是滿足的,因此,另一個條件從曲率(斜率)的角度進行了約束:

f(x+αkpk)Tpkc2f(xk)Tpk

其中 c2(c1,1) 。這個條件的意思是,在下一個迭代點處的斜率一定要大於在當前點(α=0 )處的斜率。因爲我們可以看出來,上面這個條件的左面是以 α 爲變量的函數在下一個迭代點出的導數,而右邊則是其在當前迭代點的導數。上面的這個條件可以從 Figure 3.4 中進行理解。

這裏寫圖片描述

其實也可以這樣理解,當某個 α 的取值使得在該點 ϕ(α) 的導數很小(絕對值很大)時,就表示目標函數還有下降的可能因此不能在這兒停,知道導數變大趨於0,甚至變成正值(在往上走了),說明可能就要停下來了。

綜合上面兩個條件就可以得到 The Wolfe Condition

f(xk+αkpk)f(xk+αkpk)Tpkf(xk)+c1αkfTkpkc2fTkpk
滿足 Wolfe condition 的步長得到的迭代點可以使得目標函數值有充分的下降,但不一定要落在這個方向上的極小值處。如 Figure 3.5 所示。
這裏寫圖片描述

接下來的 Lemma 3.1. 證明了針對連續可到的函數 f ,滿足上述 Wolfe condition 的區間一定存在。這裏簡述如下:

Lemma 3.1.
假設函數 f:RnR 連續可導。pk 表示在點 xk 處的一個下降方向,同時假設 f 沿着方向 {xk+αpk|α>0} 上的值有下界。那麼對於 0<c1<c2<1 ,存在步長 α 的區間使得上述的 Wolfe condition 滿足。

證明:
因爲 ϕ(α)=f(xk+αpk) 針對任意的 α>0 有下界,而關於 α 的線性函數 l(x)=f(xk)+c1αkfTkpkα>0 上是沒有下界的,因此二者的曲線必有一個交點,記該交點爲 α ,即

f(xk+αpk)=f(xk)+αc1fTkpk
因此對於任何小於 αα 值,Wolfe condition 中的第一條必然滿足,同時根據中值定理,存在 α′′(0,α) 使得
f(xk+αpk)=f(xk)+αf(xk+α′′pk)Tpk
結合上面兩式,同時因爲 c1<c2 ,我們有
f(xk+α′′pk)Tpk=c1fTkpk>c2fTkpk
α′′ 亦滿足Wolfe condition 中的第二條。
同時因爲我們假設 f 是光滑的,因此在 α′′ 的附近必然有一個區間使得上述的條件成立,因此原命題得證。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章