最优化学习笔记(四)——最速下降法
一、最速下降法的理念
???? 最速下降法是梯度方法的一種實現,它的理念是在每次的迭代過程中,選取一個合適的步長αk,使得目標函數的值能夠最大程度的減小。αk可以認為是函數?k(α)=f(x(k)?α?f(x(k)))的極小值點:
由梯度迭代公式可知: x(k+1)=x(k)?α?f(x(k)), 上式的解釋是找到最優的迭代點 x(k+1), 使得函數 f(x)取得極小值時,求出步長 αk。
???? 概述最速下降法的過程:在每一步的迭代中,從點 x(k)出發,沿著梯度的負方向(求極小值點)展開一維搜索,直到找到步長最優值,確定新的迭代點 x(k+1)。 最速下降法的相鄰搜索方向都是正交的。
二、最速下降法的兩個命題和停止條件
2.1 最速下降法的兩個命題
命題1 利用最速下降法搜索函數f:R2→R的極小值點,迭代過程產生的序列為{x(k)}∞k=0, 那么,x(k+1)?x(k) 與 x(k+2)?x(k+1)正交對所有k≥0都成立。
命題2 利用最速下降法搜索函數f:Rn→R的極小值點,迭代過程產生的序列為{x(k)}∞k=0, 如果 ?f(x(k))≠0, 那么f(x(k+1))<f(x(k))。
???? 命題1說明在迭代過程中,沒產生一個新點,對應的目標函數值都會下降。命題2說明了最速下降法的下降特性:只要?f(x(k))≠0, 就有f(x(k+1))<f(x(k))。對于某個k, 如果?f(x(k))=0,說明x(k)滿足局部極小點的一階必要條件,此時x(k+1)=x(k),這可以作為停止規則的基礎。
2.2 幾種停止規則
???? 在實際中,采用數值計算的方法很難恰好得到梯度為0的結果,因此以梯度為0作為停止規則很不恰當。以下, ?>0
1.|f(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{1,|f(x(k))|}<?
6.||x(k+1)?x(k)||max{1,||x(k)||}<?
上邊的3,4式為1,2式的相對值,而5,6式是為了避免3,4式中的分母過小進行的修改。
三、二次型中最速下降法的應用
???? 首先,二次型的目標函數為
其中, Q為對稱正定矩陣(假設),b∈Rn,x∈Rn,故有:
?f(x)=Qx?b
令:
g(k)=?f(x(k))=Qx(k)?b
則,最速下降法的迭代公式:
x(k+1)=x(k)?αkg(k)
其中,
αk=argminα≥0f(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))?bT(?g(k))
?′k(α)=0時, αg(k)TQg(k)=(x(k)TQ?bT)g(k),因為 Q對稱, Q=QT,得:
x(k)TQ?bT=g(k)T
所以:
αk=g(k)Tg(k)g(k)TQg(k)
所以,目標函數為二次型函數時,最速下降法的迭代公式為:
x(k+1)=x(k)?g(k)Tg(k)g(k)TQg(k)g(k)
其中,
g(k)=?f(x(k))=Qx(k)?b
總結
以上是生活随笔為你收集整理的最优化学习笔记(四)——最速下降法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 指针的详细使用介绍
- 下一篇: 关于longlong与位运算