非線性最優化方法
引言
最優化的問題的一般形式爲:
minf(x), s.t.x∈X
f(x)爲目標函數,X∈En
非線性特點:
無約束問題的最優條件:
minf(x),x∈Rn的最優性條件:
設g(x)=∇f(x),G(x)=Δf(x)分別爲f的一階和二階導數。
定理(一階必要條件):設f:D⊂Rn→R1在開集D上連續可微,若x∗∈D是局部極小點,則g(x∗)=0.
定理(二階必要條件):設f:D⊂Rn→R1在開集D上二階連續可微,若x∗∈D是局部極小點,則g(x∗)=0, G(x∗)≥0
- 給定一個初始點x0,
- 按照某一迭代規則產生一個點列{xk}, 使得
當{xk}是有窮點列時,其最後一個點是最優化模型問題的最優解。
當{xk}是無窮點列時,其極限點爲最優解。
- 最優化方法的結構:
給定初始點x0
- 確定搜索方向dk,即依照一定規則構造f在xk點處的下降方向爲搜索方向
- 確定步長因子αk,使目標函數值有某種意義下降
- 令xk+1=xk+αkdk
若xk+1滿足某種終止條件,則停止迭代,得到近似最優解,否則重複以上步驟。
- 迭代點xk能穩定地接近局部極小點x*的鄰域,然後迅速收斂於xk ;
- 當給定的某種收斂準則滿足時,迭代即終止。
收斂速度:
一般認爲,具有超線性和二階收斂速度的方法是比較快速的。
一維搜索
- 確定包含問題最優解的搜索區間
- 再用某種分割技術或插值方法縮小這個區間,進
行搜索求解
- 搜索區間:包含最優值的閉區間。
- 確定搜索區間的簡單方法——進退法。
- 從一點出發,試圖確定出函數值呈現“高-低-高” 的三點。一個方向不成功,就退回來,再沿相反方向尋找。
改進
- 實際上所遇到的函數不一定是單峯函數,這時搜索出的值有可能大於初始區間的端點值。
- 改進:每次縮小區間時,不只比較兩個內點處的函數值,而是比較兩個內點和兩個端點處的函數值:
- 當左邊第一個或第二個點是這四個點中函數值最小的點時,丟棄 右端點;
- 否則,丟棄左端點。
0.618 法
Fibonacci法
插值法
插值法是一類重要的搜索方法,其基本思想是:
- 在搜索區間中不斷用低次(通常不超過三次)多項式來近似目標函數,並逐步用插值多項式的極小點來逼近一維搜索問題的極小點。
- 當函數具有比較好的解析性質時,插值方法比直接方法(0.618 法或Fibonacci法)效果更好。
二次插值法:
- 一點二次插值(牛頓法)
- 利用一點處的函數值、一階和二階導數值構造二次插值函數。牛頓法的優點是收斂速度快,具有局部二階收斂速度。
- 二點二次插值法
- 給出兩點的函數值和其中一點的導數值,構造二次插值函數。二點二次插值法的收斂階爲1.618,超線性收斂。
- 三點二次法(拋物線法)
- 二點三次插值法
……
牛頓型方法
1. 最速下降法
以負梯度方向作爲極小化算法的搜索方向,即
dk=−gk
- 具有總體收斂性:
產生的迭代點列的每一個聚點都是平穩點。
- 最速下降方向僅是局部性質
對於許多問題並非下降方向,而且下降非常緩慢;
接近極小點時,步長越小前進越緩慢。
2. 牛頓法
-
基本思想
利用目標函數的二次Taylor展開,並將其極小化。
函數 f(x) 在 xk處的二次Taylor展開爲:
f(xk+s)≈q(k)(s)=f(xk)+∇f(xx)Ts+21sT∇2f(xk)s
其中 s=x−xk,將 q(k)(s)極小化,得到
xk+1=xk−[∇2f(xk)]−1∇f(xx)=xk−Gk−1gk
-
對於正定二次函數,一步即可得最優解。
-
由於目標函數在極點附近近似於二次函數,所以在初始點接近極小點時,牛頓法收斂速度較快。
-
牛頓法具有局部收斂性,爲二階收斂。
正定二次函數:
正定二次函數(positive definite quadratic function)是係數矩陣爲對稱正定矩陣的二次函數。設x∈Rn,A爲n×n對稱正定矩陣,b∈Rn爲常向量,c爲常數,則二次函數f(x)=21xTAx+bTx+c稱爲正定二次函數。
正定矩陣:
一個n×n的實對稱矩陣M是正定的,當且僅當對於所有的非零實係數向量z,都有zTMz>0。其中zT表示z的轉置。
- 牛頓法適用於初始點距離最優解很近的情況下,當初始解遠離最優解時,Gk不一定是正定的,則牛頓方向不一定爲下降方向,其收斂性不能保證。
- 說明恆取步長因子爲1不合適,應採用一維搜索。(僅當步長因子{αk}收斂1時,牛頓法纔是二階收斂的。迭代公式:
dk=−Gk−1gk,Xk+1=Xk+αkdk
- 帶步長因子的牛頓法是總體收斂的。
修正牛頓法
Gill-Murray穩定牛頓法
Goldfeld修正牛頓法
3.信賴域方法
Levenberg-Marquardt方法
-
最重要的一類的信賴域是取l2範數,此時原模型等效於
minq(k)(s)=fk+gkTs+21sTGks,s.t.∣∣s∣∣2≤hk
引入Lagrange函數
L(s,μ)=q(k)(s)+21μ(sTs−hk2)
根據約束最優化的最優性條件知:
∇sL=0, μ≥0
從而推出
L(s,μk)=q(k)(sk)+21(s−sk)T(Gk+μkI)(s−sk)
-
可以證明:
總體解的二階必要條件爲(Gk+μkI)半正定。
總體解嚴格最小的充分條件爲(Gk+μkI)正定。
因此,LM方法都是要確定一個μk≥0,使得(Gk+μkI)正定,並用∇sL=0求解sk。同時可以證明∣∣s∣∣2隨 μ單調減小。
-
算法步驟
- 給定初始點x0,μ0>0,k=1
- 計算gk和Gk
- 若∣∣gk∣∣<ϵ,停止
- 分解GK+μkI,若不正定,置μk=4μk,重複4直到正定
- 解(Gk+μkI)s=−gk,求出sk
- 求f(xk+sk),q(k)(sk)和rk=△q(k)△fk
- 若rk<0.25,置μk+1=4μk;若rk>0.75,置μk+1=μk/2;否則,μk+1=μk
- 若rk≤0,置xk+1=xk+sk
- 令k=k+1,轉2
LM方法比較適合於x維度不高的非線性函數優化。
(未完待續)