線搜索理論滿足以下模型,其中
ak
爲步長,
pk
爲搜索方向:
xk+1=xk+αkpk
爲保證
pk
在目標函數
f
的下降方向,需要滿足
pTk∇fk<0
,其一般模型爲:
pk=−B−1k∇fk
其中當
Bk
對稱滿秩且正定時,能夠保證
pk
指向
f
下降方向
- steepest descent method:
Bk=I
(單位矩陣)
- Newton’s method:
Bk=∇2f(xk)
(Hessian 矩陣)
- Quasi-Newton method:
Bk→
Hessian 估計矩陣(SR1 或 BFGS 方法等)
上述內容可以參考 我的上一篇筆記。
這篇筆記對
αk
的選擇以及 收斂率(rate of convergence)做深入討論。
1. 步長 Step Length
對於步長的選擇,主要基於兩個權衡:
-
αk
能夠實現
f
的大幅下降
- 不能花太多時間做決定
一般最爲理想的方法是取下述
ϕ(.)
的最小值:
ϕ(α)=f(xk+αpk),α>0
但通常此求解過程非常複雜,無法實現,故退而希望
αk
滿足以下兩個條件:
- 當前
αk
推進的部分在
f
的
pk
方向的下降區間內
-
αk
較長,可以實現更有效率的下降
故引入以下幾種條件。
1.2 Wolfe 條件 The Wolfe Conditions
Wolfe 條件其中包括兩條條件:
- Armijo Condition:保證
αk
在
pk
方向上
f
的下降區間內
ϕ(α)=f(xk+αpk)l(α)=f(xk)+c1α∇fTkpk,c1∈(0,1)ϕ(α)≤l(α)
其中
c1
的典型值爲
c1=10−4
- 曲率條件:保證
αk
在上述條件的基礎上足夠大,使得算法有效率
ϕ′(αk)=∇f(xk+αkpk)Tpkϕ′(αk)≥c2ϕ′(0),c2∈(c1,1)
其中
c2
的典型值如下:
- Newton / Quasi-Newton:
c2=0.9
- Nonlinear conjugate gradient method:
c2=0.1
綜上所述,完整的 Wolfe Conditions 的敘述是:
f(xk+αpk)≤f(xk)+c1α∇fTkpk∇f(xk+αkpk)Tpk≥c2∇fTkpk,0<c1<c2<1
嚴格 Wolfe Conditions 的敘述是:
f(xk+αpk)≤f(xk)+c1α∇fTkpk||∇f(xk+αkpk)Tpk||≥c2||∇fTkpk||,0<c1<c2<1
其較於非嚴格 Wolfe Conditions 加上了
ϕ′(αk)
必須爲正的限定。
且需要注意的是,對於所有平滑且取值有界的目標函數
f
都能找到滿足 (strong) Wolfe Conditions 的步長
αk
(證明略)
故可以看出來 Wolfe Conditions 具有廣義尺度不變性,即將
f
乘以一個常數或將
f
進行尺度變換不會改變 Wolfe Conditions 尋找的結果
1.2 Goldstein 條件 The Goldstein Conditions
其完整表達爲:
f(xk)+(1−c)αk∇fTkpk≤f(xk+αkpk)≤f(xk)+cα∇fTkpk,0<c<12
前一個不等式控制步長長度使其不至於太短(以致效率過低),後一個不等值控制步長使其不至於超出
f
在
pk
方向上的下降區間
Goldstein 條件常用於 Newton type 算法,而不太使用於 Quasi-Newton type 算法
1.3 回溯算法 Backtracking
根據上述兩個條件,可以看出僅限定
αk
在
f
的
pk
方向上的下降區間內是不足以促成一個成功的算法的,還需要對其收斂效率進行規定,故上述條件都有兩個限定。
然而使用回溯算法便可以省略有關效率的那個限定條件,其算法流程如下:
Choose
α¯¯¯>0,ρ∈(0,1),c∈(0,1)
; Set
α←α¯¯¯
repeat until
f(xk+αpk)≤f(xk)+cα∇fTkpk
α←ρα
end(repeat)
Terminate with
αk=α
其中
α¯¯¯
的初值取法如下:
- Newton and Quasi-Newton:
α¯¯¯=1
- 其他算法的
α¯¯¯
的取值各不相同
其中的收縮係數
ρ
可在每步迭代後進行變動,只要滿足
0<ρlo<ρhi<1
即可
這種算法很適合 Newton,但是不那麼適用於 Quasi-Newton 與 Conjugate gradient 算法
2. 線搜索算法的收斂性
可證明,其他算法和 steepest descent algorithm 一樣可以具有全局收斂性(雖然實現收斂的路徑不同)
證明略
3. 收斂率 Rate of convergence
一個好的算法,需要滿足下面兩個條件:
但是這兩個需要相互權衡,譬如: steepest descent method 具有極佳的全局收斂保證,但收斂速度慢;而純 Newton method 收斂速度快,但有時可能達不到全局收斂。
故爲了檢驗算法的全局收斂性,需要引入一個量「收斂率」。
在正式討論各類算法的收斂率之前,首先引入另外兩個小概念,方便後面敘述:
有兩個迭代點
xk+1,xk
,最優收斂點
x∗
,若存在實數
q>0
滿足:
limk→∞||xk+1−x∗||||xk−x∗||=q
若:
-
q∈(0,1)
,線性收斂
-
q=0
,超線性收斂
3.1 steepest descent 的收斂率
首先我們假設一個典型的二次目標函數:
f(x)=12xTQx−bTx∇f(x)=Qx−b
其中 Q 對稱正定,其最佳收斂點爲
x∗
,即有
∇f(x∗)=0
在此算法中
pk=−∇fk
,設步長爲
αk
,則有:
f(xk−α∇fk)=12(xk−α∇fk)TQ(xk−α∇fk)−bT(xk−α∇fk)
使得上式等於 0,可以得到步長推斷式:
αk=∇fTk∇fk∇fTkQ∇fk
這樣就得到了迭代方程:
xk+1=xk−(∇fTk∇fk∇fTkQ∇fk)∇fk
使用下式量化收斂率,即計算所得值和理想值之間的差距:
12||x−x∗||2Q=f(x)−f(x∗)
根據上面的討論可以嚴格推導 steepest descent method 的收斂率推導式:
||xk+1−x∗||2Q=1−(∇fTk∇fk)2(∇fTkQ∇fk)(∇fTkQ−1∇fk)||xk−x∗||2Q
然而,這個推倒式太難計算了,所以給出了一些計算的替代方案:
這顯示出 steepest descent 算法在某些情況下(通常在
κ(Q)
很大的情況下),可能會非常非常慢。
3.2 Newton’s method
其
pk
遵循下式:
pNk=−∇2f−1k∇fk
但需要注意的是,在上式中有一個限定條件——
∇2fk
必須是正定的,才能保證
pk
指向下降方向。
假定
f
二次可微,那麼其 Hessian 矩陣
∇2f(x)
Lipschitz 連續,x* 是最佳點(在 x* 附近開區間內
∇2f
連續且
∇f(x∗)=0
且
∇2f(x∗)
正定)。迭代式爲
xk+1=xk+pk
,且
pk
的方法爲 Newton 法,則:
- 如果初始點
x0
距離
x∗
足夠近,那麼序列在
x∗
處收斂
- 其 {
xk
} 的收斂率是二次的
- 梯度序列 {
||∇fk||
} 二次收斂於 0
上述證明略。
但上面的定量非常棒棒,主要是能夠遞推出下列優厚性質:
當使用 Newton’s method 遞推得到
pk
時:
- 對於所有 k,
αk
都可通過 Wolfe/Goldstein conditions 的檢驗(即對於 Newton’s method 可以直接使用
αk
作爲步長)
- 如果還滿足
limk→∞||∇fk+∇2fkpk||||pk||=0
,那麼對於所有 k 來說,
||x−x∗||2Q=0
- 利用線搜索法時,
αk=1
對於所有 k 局部二次收斂
3.3 Quasi-Newton method
其
pk
推導式爲:
pk=−B−1k∇fk
其中
Bk
的推導方法有 SR1,BFGS 等。其步長類似 Newton’s method, 先初定爲
α=1
,如果其滿足 Wolfe conditions 那麼就接受這個初定值。
假定
f:Rn→R
中二次連續可微,迭代方式爲
xk+1=xk+αkpk
,其中保證
pk
指向下降方向並且
αk
滿足 Wolfe conditions(
c1≤0.5
)。如果序列
xk
收斂於
x∗
,即
∇f(x∗)=0
且 c1≤0.5
)。如果序列
xk
收斂於
x∗
,即
∇f(x∗)=0
且
∇2
xk
收斂於
x∗
,即
∇f(x∗)=0
且
∇2f(x∗∇f(x