最速下降法是梯度方法的一種實現,它的理念是在每次的迭代過程中,選取乙個合適的步長αk
,使得目標函式的值能夠最大程度的減小。αk
可以認為是函式ϕk
(α)=
f(x(
k)−α
∇f(x
(k))
) 的極小值點: αk
=arg
minf(x
(k)−
α∇f(
x(k)
)),α
≥0由梯度迭代公式可知:x(
k+1)
=x(k
)−α∇
f(x(
k)) , 上式的解釋是找到最優的迭代點x(
k+1)
, 使得函式f(
x)取得極小值時,求出步長αk
。 概述最速下降法的過程:在每一步的迭代中,從點x(
k)出發,沿著梯度的負方向(求極小值點)展開一維搜尋,直到找到步長最優值,確定新的迭代點x(
k+1)
。最速下降法的相鄰搜尋方向都是正交的。
命題1 利用最速下降法搜尋函式f:
r2→r
的極小值點,迭代過程產生的序列為∞k
=0, 那麼,x(
k+1)
−x(k
) 與 x(
k+2)
−x(k
+1) 正交對所有k≥
0 都成立。
命題2 利用最速下降法搜尋函式f:
rn→r
的極小值點,迭代過程產生的序列為∞k
=0, 如果 ∇f
(x(k
))≠0
, 那麼f(
x(k+
1))x(k)
) 。
命題1說明在迭代過程中,沒產生乙個新點,對應的目標函式值都會下降。命題2說明了最速下降法的下降特性:只要∇f
(x(k
))≠0
, 就有f(
x(k+
1))x(k)
) 。對於某個
k , 如果∇f
(x(k
))=0
,說明x(k
) 滿足區域性極小點的一階必要條件,此時x(
k+1)
=x(k
) ,這可以作為停止規則的基礎。
在實際中,採用數值計算的方法很難恰好得到梯度為0的結果,因此以梯度為0作為停止規則很不恰當。以下,
ϵ>0
1.|f上邊的3,4式為1,2式的相對值,而5,6式是為了避免3,4式中的分母過小進行的修改。(x(k
+1))
−f(x
(k))
|<
ϵ
2.||
x(k+
1)−x
(k)|
|<
ϵ
3.|f
(x(k
+1))
−f(x
(k))
||f(
x(k)
)|<
ϵ
4.||
x(k+
1)−x
(k)|
|||x
(k)|
|<
ϵ
5.|f
(x(k
+1))
−f(x
(k))
|max
<
ϵ
6.||
x(k+
1)−x
(k)|
|max
<
ϵ
首先,二次型的目標函式為 f(
x)=1
2xtq
x−bt
x 其中,q為對
稱正定矩
陣(假設
),b∈
rn,x
∈rn,
故有: ∇f
(x)=
qx−b
令: g(
k)=∇
f(x(
k))=
qx(k
)−b
則,最速下降法的迭代公式: x(
k+1)
=x(k
)−αk
g(k)
其中, αk
=arg
minα≥0
f(x(
k)−α
g(k)
)ϕk(
α)=f
(x(k
)−αg
(k))
當目標函式是二次型函式時,可以確定x(
k)處的步長αk
的解析式。當g(
k)=0
時,迭代停止,當g(
k)≠0
時,利用區域性極小點的一階必要條件可得: ϕ′
k(α)
=(x(
k)−α
g(k)
)tq(
−g(k
))−b
t(−g
(k))
ϕ′k(α)=
0 時, αg
(k)t
qg(k
)=(x
(k)t
q−bt
)g(k
) ,因為
q 對稱,q=
qt,得: x(
k)tq
−bt=
g(k)
t 所以: αk
=g(k
)tg(
k)g(
k)tq
g(k)
所以,目標函式為二次型函式時,最速下降法的迭代公式為: x(
k+1)
=x(k
)−g(
k)tg
(k)g
(k)t
qg(k
)g(k
) 其中, g(
k)=∇
f(x(
k))=
qx(k
)−b
最優化演算法與matlab應用3 最速下降法
最優化演算法與matlab應用3 最速下降法 最速下降法是一種沿著n維目標函式的負梯度方向搜尋最小值的方法。1 演算法原理 函式的負梯度表示如下 搜尋步長可調整ak,通常記為 第k次迭代的步長 該演算法利用一維的線性搜尋方法,如二次逼近法,沿著負梯度方向不斷搜尋函式的較小值,從而找出最優解。2 演算...
機器學習 最速下降法和牛頓下降法
入門教材常用二分法來求解實數求根的問題。我們現在來用普通迭代法 下降法來求解實數開立方根的問題。設當前實數為n,求根次數為k,根為s,那麼有s k n。所得偏差函式為f s s k n。顯然當代價函式f s 0時,我們便求出了n的k次根。現在我們開立方根,那麼k 3,代價函式為f s s 3 n。普...
凸優化學習 (二十五)無約束優化演算法 最速下降法
最速下降法實為最陡下降法,收斂性質類似於梯度下降法。定義乙個和x kx k xk同維度的向量v vv,那麼有 min x f x repeat min vf xk v min xf x leftrightarrow text min vf x k v xmin f x repeat vmin f x...