Armijo-Goldstein准則與Wolfe-Powell准則


Armijo-Goldstein准則與Wolfe-Powell准則是不精確的一維搜索的兩大准則。

之所以要遵循這些准則是為了能使算法收斂(求最優解)。即要使我們的不精確的一維搜索的步長滿足一定的規則,使之后的求最優解的過程不至於因為步長過大或者過小而不收斂。

Armijo-Goldstein准則

Armijo-Goldstein准則的核心思想有兩個:①目標函數值應該有足夠的下降;②一維搜索的步長α不應該太小。

我們來看看Armijo-Goldstein准則的數學表達式:

image

其中, 0<ρ<12

1)為什么要規定 ρ∈(0,0.5) 這個條件?其實可以證明:如果沒有這個條件的話,將影響算法的超線性收斂性。具體的證明過程,大家可以參考袁亞湘寫的《最優化理論與方法》一書,我沒有仔細看,我覺得對初學者,不用去管它。
(2)第1個不等式的左邊式子的泰勒展開式為:
f(xkkdk)=f(xk)+αkgkTdk+o(αk)
去掉高階無窮小,剩下的部分為: f(xk)+αkgkTdk
而第一個不等式右邊與之只差一個系數 ρ
我們已知了 gkTdk<0 (這是 dk 為下降方向的充要條件),並且 ρ∈(0,0.5) ,因此,1式右邊仍然是一個比 f(xk) 小的數,即:
f(xk)+αkρgkTdk<f(xk)
也就是說函數值是下降的(下降是最優化的目標)。

(3)由於 ρ∈(0,0.5) 且 gkTdk<0 ( dk 是一個下降方向的充要條件),故第2個式子右邊比第1個式子右邊要小,即:
αk(1−ρ)gkTdkkρgkTdk<0
如果步長 α 太小的話,會導致這個不等式接近於不成立的邊緣。因此,式2就保證了 α 不能太小。

我還要把很多書中都用來描述Armijo-Goldstein准則的一幅圖搬出來說明一下

image

橫坐標是 α ,縱坐標是 f ,表示在 xk,dk 均為常量、 α 為自變量變化的情況下,目標函數值隨之變化的情況。
之所以說 xk,dk 均為常量,是因為在一維搜索中,在某一個確定的點 xk 上,搜索方向 dk 確定后,我們只需要找到一個合適的步長 α 就可以了。
當 x 為常量, α 為自變量時, f(x+αd) 可能是非線性函數(例如目標函數為 y=x2 時)。因此圖中是一條曲線。
右上角的 f(xk+αdk) 並不是表示一個特定點的值,而是表示這條曲線是以 α 為自變量、 xk,dk 為常量的函數圖形。
當 α=0 時,函數值為 f(xk) ,如圖中左上方所示。水平的那條虛線是函數值為 f(xk) 的基線,用於與其他函數值對比。
f(xk)+αkρgkTdk 那條線在 f(xk) 下方(前面已經分析過了,因為 gkTdk<0 ), f(xk)+αk(1−ρ)gkTdk 又在 f(xk)+αkρgkTdk 的下方(前面也已經分析過了),所以Armijo-Goldstein准則可能會把極小值點(可接受的區間)判斷在區間bc內。顯而易見,區間bc是有可能把極小值排除在外的(極小值在區間ed內)。
所以,為了解決這個問題,Wolfe-Powell准則應運而生。

Wolfe-Powell准則

Wolfe-Powell准則也有兩個數學表達式,其中,第一個表達式與Armijo-Goldstein准則的第1個式子相同,第二個表達式為

image

這個式子已經不是關於函數值的了,而是關於梯度的。
此式的幾何解釋為:可接受點處的切線斜率≥初始斜率的 σ 倍。
上面的圖已經標出了 σgTkdk 那條線(即 e 點處的切線),而初始點( α=0 的點)處的切線是比 e 點處的切線要“斜”的,由於 σ∈(ρ,1) ,使得 e 點處的切線變得“不那么斜”了——不知道這種極為通俗而不夠嚴謹的說法,是否有助於你理解。
這樣做的結果就是,我們將極小值包含在了可接受的區間內( e 點右邊的區間)。

Wolfe-Powell准則到這里還沒有結束!在某些書中,你會看到用另一個所謂的“更強的條件”來代替(3)式,即:
image
這個式子和(3)式相比,就是左邊加了一個絕對值符號,右邊換了一下正負號(因為 gTkdk<0 ,所以 −σgTkdk>0 )。
這樣做的結果就是:可接受的區間被限制在了 [b,d] 內,如圖:

image

圖中紅線即為極小值被“夾擊”的生動演示。


轉自   https://www.codelast.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM