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