下降方法descent method

1:目標 對於無目標約束問題進行最小值求解問題。

x(k+1)=x(k)+t(k)Δx 

等式爲迭代關係,其中 t(k) 爲第k次的迭代步長。Δx  搜索方向。
對於求其最優解,即是考慮求其最小值。我們所有學的下降方法滿足迭代的後一項應該是小於前一項的,之爲下降,這樣纔可能到達最小值點。即是滿足
f(x(k+1))<f(x(k)) 

由於凸性,我們有df(x(k))  (yx(k))0 f(y)f(x(k))  .因此下降方法必須滿足 df(x(k))  Δx<0  .
2:算法
首先給出初始點x。
do:
1:確定下降方向Δx 
2:線性搜索。選擇一個步長t>0,
3:更新x(k+1)=x(k)+t(k)Δx 
until:停止條件滿足。
對於2中線性搜索有兩種方法,一種精確線性搜索法(exact line search),一種回溯線性搜索法(backtracking line serach)。
精確線性搜索即是選擇t使得f(x)沿着射線x+tΔx  最小即可。即是
t=argminf(x+sΔx) 

回溯線性搜索法是不精確的線性搜索方法。其思想是先選一個大的步長,
如果步長太大,則逐次縮減,直到滿足要求。具體算法流程是:
首先給出 f 的下降方向Δx  ,給出一個初始步長t=1;a(0,0.5),β(0,1) 
do:t:=βt 
while f(x(k+1))>f(x(k))+atdf(x(k))  Δx  .
其中a爲控制因子,β  爲搜索步長縮減因子。

3 梯度下降法(Gradient descent method)和最速下降法(steepest descent method)。
其中梯度下降法是沿着負梯度的方向下降的。即其中Δx=df(x) 
具有全局收斂性近似線性收斂,但是其對條件數比較大的時候收斂性很慢。
下面介紹最速下降法:
對f(x+v)一階泰勒展開f(x+v)=f(x)+df(x)’v;考慮等式右邊第二項。如果我們讓|| ||,表示任意範數的話。定義標準最速下降方向爲

ΔXn=argmindf(x)  v|||v||=1 

考慮非標準下降方向Δx=||df(x)||  其中|| ||*爲對偶範數。
那麼,這個Δx  就是最速下降方向。
對於二範數也即是歐幾里得範數,df(x)  Δx=||df(x)|| 2   。 即等價爲梯度下降法。
對於quadratic norm。||z||p=(z’Pz)^(1/2) 。則Δx  =-P^(-1)df(x) .
其中矩陣P可以理解爲對原函數的座標軸進行變換,從而導致搜索方向也發生變換。這個簡單的變換可以引起很多有效果的收斂!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章