擬牛頓法
擬牛頓法是求解非線性優化問題最有效的方法之一。DFP、BFGS、L-BFGS算法都是重要的擬牛頓法。
求函數的根
對f(x)在Xn附近做一階泰勒展開
f(x)=f(Xn)+f’(Xn)(x-Xn)
假設Xn+1是該方程的根
那么就得到
Xn+1=Xn-f(Xn)/f’(Xn)
通過不斷迭代從而得到真正的函數的根X*
最優化問題(牛頓法)
即是對一階導函數求其函數的根。因此里面要涉及到求二階導
顯然這里求最優點X*的形式上與上面的求函數根的形式是一樣的。
將其從低維推廣至高維。則會涉及到海森矩陣H,
迭代公式變為:
我們可以看到,當Hk為正定(Hk(-1)也為正定)的時候,可以保證牛頓法的搜索方向是向下搜索的。
牛頓法求最優值得步驟如下:
1.隨機選取起始點x0
2.計算目標函數f(x)在該點xk的一階導數和海森矩陣;
3.依據迭代公式Xk+1=Xk-Hk(-1)f’k
如果E(f(xk+1)-f(xk))<ϵ,則收斂返回,否則繼續步驟2,3直至收斂
缺點:顯然,當我們的特征特別多的時候,求海森矩陣的逆的運算量是非常大且慢的,這對於實際應用中是不可忍受的,因此我們想用一個矩陣來代替海森矩陣的逆,這就是擬牛頓法。
擬牛頓法(用一個矩陣替代海森矩陣的逆使其仍具有牛頓法的效果)
我們首先要研究一下海森矩陣需要具有什么樣的特征才能保證牛頓法成功的應用。通過上面的描述我們知道
上式我們稱之為擬牛頓條件。
我們所選擇的替代矩陣Gk,需要滿足兩個條件:
2.要保證為Gk正定矩陣,這是因為只有正定才能保證牛頓的搜索方向是向下搜索
最速下降法
概念
最速下降法是梯度方法的一種實現,它的理念是在每次的迭代過程中,選取一個合適的步長αk,使得目標函數的值能夠最大程度的減小。αk可以認為是函數ϕk(α)=f(x(k)−α∇f(x(k)))的極小值點:
概述最速下降法的過程:在每一步的迭代中,從點x(k)出發,沿着梯度的負方向(求極小值點)展開一維搜索,直到找到步長最優值,確定新的迭代點x(k+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),這可以作為停止規則的基礎。
常見的停止條件