【Numerical Optimization】2 線搜索算法 PART 1(Jorge Nocedal 學習筆記)

線搜索理論滿足以下模型,其中 a k 爲步長, p k 爲搜索方向:

x k + 1 = x k + α k p k

爲保證 p k 在目標函數 f 的下降方向,需要滿足 p k T f k < 0 ,其一般模型爲:
p k = B k 1 f k

其中當 B k 對稱滿秩且正定時,能夠保證 p k 指向 f 下降方向

  • steepest descent method: B k = I (單位矩陣)
  • Newton’s method: B k = 2 f ( x k ) (Hessian 矩陣)
  • Quasi-Newton method B k Hessian 估計矩陣(SR1 或 BFGS 方法等)

上述內容可以參考 我的上一篇筆記

這篇筆記對 α k 的選擇以及 收斂率(rate of convergence)做深入討論。


1. 步長 Step Length

對於步長的選擇,主要基於兩個權衡:

  • α k 能夠實現 f 的大幅下降
  • 不能花太多時間做決定

一般最爲理想的方法是取下述 ϕ ( . ) 的最小值:

ϕ ( α ) = f ( x k + α p k ) α > 0

但通常此求解過程非常複雜,無法實現,故退而希望 α k 滿足以下兩個條件:

  • 當前 α k 推進的部分在 f p k 方向的下降區間內
  • α k 較長,可以實現更有效率的下降

故引入以下幾種條件。

1.2 Wolfe 條件 The Wolfe Conditions

Wolfe 條件其中包括兩條條件:

  • Armijo Condition:保證 α k p k 方向上 f 的下降區間內
    ϕ ( α ) = f ( x k + α p k ) l ( α ) = f ( x k ) + c 1 α f k T p k , c 1 ( 0 , 1 ) ϕ ( α ) l ( α )

    其中 c 1 的典型值爲 c 1 = 10 4
  • 曲率條件:保證 α k 在上述條件的基礎上足夠大,使得算法有效率

ϕ ( α k ) = f ( x k + α k p k ) T p k ϕ ( α k ) c 2 ϕ ( 0 ) , c 2 ( c 1 , 1 )

其中 c 2 的典型值如下:

  • Newton / Quasi-Newton: c 2 = 0.9
  • Nonlinear conjugate gradient method: c 2 = 0.1

綜上所述,完整的 Wolfe Conditions 的敘述是:

f ( x k + α p k ) f ( x k ) + c 1 α f k T p k f ( x k + α k p k ) T p k c 2 f k T p k , 0 < c 1 < c 2 < 1

嚴格 Wolfe Conditions 的敘述是:
f ( x k + α p k ) f ( x k ) + c 1 α f k T p k | | f ( x k + α k p k ) T p k | | c 2 | | f k T p k | | , 0 < c 1 < c 2 < 1

其較於非嚴格 Wolfe Conditions 加上了 ϕ ( α k ) 必須爲正的限定。
這裏寫圖片描述

且需要注意的是,對於所有平滑且取值有界的目標函數 f 都能找到滿足 (strong) Wolfe Conditions 的步長 α k (證明略)
故可以看出來 Wolfe Conditions 具有廣義尺度不變性,即將 f 乘以一個常數或將 f 進行尺度變換不會改變 Wolfe Conditions 尋找的結果

1.2 Goldstein 條件 The Goldstein Conditions

其完整表達爲:

f ( x k ) + ( 1 c ) α k f k T p k f ( x k + α k p k ) f ( x k ) + c α f k T p k , 0 < c < 1 2

前一個不等式控制步長長度使其不至於太短(以致效率過低),後一個不等值控制步長使其不至於超出 f p k 方向上的下降區間

這裏寫圖片描述

Goldstein 條件常用於 Newton type 算法,而不太使用於 Quasi-Newton type 算法

1.3 回溯算法 Backtracking

根據上述兩個條件,可以看出僅限定 α k f p k 方向上的下降區間內是不足以促成一個成功的算法的,還需要對其收斂效率進行規定,故上述條件都有兩個限定。
然而使用回溯算法便可以省略有關效率的那個限定條件,其算法流程如下:

Choose α ¯ > 0 , ρ ( 0 , 1 ) , c ( 0 , 1 ) ; Set α α ¯
repeat until f ( x k + α p k ) f ( x k ) + c α f k T p k
α ρ α
end(repeat)
Terminate with α k = α

其中 α ¯ 的初值取法如下:

  • Newton and Quasi-Newton: α ¯ = 1
  • 其他算法的 α ¯ 的取值各不相同

其中的收縮係數 ρ 可在每步迭代後進行變動,只要滿足 0 < ρ l o < ρ h i < 1 即可

這種算法很適合 Newton,但是不那麼適用於 Quasi-Newton 與 Conjugate gradient 算法

2. 線搜索算法的收斂性

可證明,其他算法和 steepest descent algorithm 一樣可以具有全局收斂性(雖然實現收斂的路徑不同)

證明略

3. 收斂率 Rate of convergence

一個好的算法,需要滿足下面兩個條件:

  • 嚴格的全局收斂保證
  • 收斂速度快

但是這兩個需要相互權衡,譬如: steepest descent method 具有極佳的全局收斂保證,但收斂速度慢;而純 Newton method 收斂速度快,但有時可能達不到全局收斂。
故爲了檢驗算法的全局收斂性,需要引入一個量「收斂率」

在正式討論各類算法的收斂率之前,首先引入另外兩個小概念,方便後面敘述:
有兩個迭代點 x k + 1 , x k ,最優收斂點 x ,若存在實數 q > 0 滿足:

lim k | | x k + 1 x | | | | x k x | | = q

若:

  • q ( 0 , 1 ) ,線性收斂
  • q = 0 ,超線性收斂

3.1 steepest descent 的收斂率

首先我們假設一個典型的二次目標函數:

f ( x ) = 1 2 x T Q x b T x f ( x ) = Q x b

其中 Q 對稱正定,其最佳收斂點爲 x ,即有 f ( x ) = 0
在此算法中 p k = f k ,設步長爲 α k ,則有:
f ( x k α f k ) = 1 2 ( x k α f k ) T Q ( x k α f k ) b T ( x k α f k )

使得上式等於 0,可以得到步長推斷式:
α k = f k T f k f k T Q f k

這樣就得到了迭代方程:
x k + 1 = x k ( f k T f k f k T Q f k ) f k

使用下式量化收斂率,即計算所得值和理想值之間的差距:

1 2 | | x x | | Q 2 = f ( x ) f ( x )

根據上面的討論可以嚴格推導 steepest descent method 的收斂率推導式:
| | x k + 1 x | | Q 2 = 1 ( f k T f k ) 2 ( f k T Q f k ) ( f k T Q 1 f k ) | | x k x | | Q 2

然而,這個推倒式太難計算了,所以給出了一些計算的替代方案:

  • f 爲嚴格二次凸函數時:
    定義不等式:
    | | x k + 1 x | | Q 2 ( λ n λ 1 λ n + λ 1 ) 2 | | x k x | | Q 2

    其中 0 < λ 1 λ 2 . . . λ n Q 的特徵值
    可以看出,當所有特徵值相等時(即 Q = I 時), f k 的形狀是圓形,且 p k 直指全局收斂點;隨着 κ ( Q ) = λ n λ 1 的增大,其輪廓越來越橢圓,且路徑越來越曲折。

這裏寫圖片描述

  • f 僅僅是二次連續可微:
    r ( λ n λ 1 λ n + λ 1 , 1 ) f ( x k + 1 ) f ( x ) r 2 [ f ( x k ) f ( x ) ]

這顯示出 steepest descent 算法在某些情況下(通常在 κ ( Q ) 很大的情況下),可能會非常非常慢。

3.2 Newton’s method

p k 遵循下式:

p k N = 2 f k 1 f k

但需要注意的是,在上式中有一個限定條件—— 2 f k 必須是正定的,才能保證 p k 指向下降方向。

假定 f 二次可微,那麼其 Hessian 矩陣 2 f ( x ) Lipschitz 連續,x* 是最佳點(在 x* 附近開區間內 2 f 連續且 f ( x ) = 0 2 f ( x ) 正定)。迭代式爲 x k + 1 = x k + p k ,且 p k 的方法爲 Newton 法,則:

  • 如果初始點 x 0 距離 x 足夠近,那麼序列在 x 處收斂
  • 其 { x k } 的收斂率是二次的
  • 梯度序列 { | | f k | | } 二次收斂於 0

上述證明略。

但上面的定量非常棒棒,主要是能夠遞推出下列優厚性質:
當使用 Newton’s method 遞推得到 p k 時:

  • 對於所有 k, α k 都可通過 Wolfe/Goldstein conditions 的檢驗(即對於 Newton’s method 可以直接使用 α k 作爲步長)
  • 如果還滿足 lim k | | f k + 2 f k p k | | | | p k | | = 0 ,那麼對於所有 k 來說, | | x x | | Q 2 = 0
  • 利用線搜索法時, α k = 1 對於所有 k 局部二次收斂

3.3 Quasi-Newton method

p k 推導式爲:

p k = B k 1 f k

其中 B k 的推導方法有 SR1,BFGS 等。其步長類似 Newton’s method, 先初定爲 α = 1 ,如果其滿足 Wolfe conditions 那麼就接受這個初定值。

假定 f : R n R 中二次連續可微,迭代方式爲 x k + 1 = x k + α k p k ,其中保證 p k 指向下降方向並且 α k 滿足 Wolfe conditions( c 1 0.5 )。如果序列 x k 收斂於 x ,即 f ( x ) = 0 c10.5 c 1 0.5 )。如果序列 x k 收斂於 x ,即 f ( x ) = 0 x k 收斂於 x ,即 f ( x ) = 0

相關文章
相關標籤/搜索