擬牛頓法與最速下降法

2022-08-01 12:00:17 字數 1907 閱讀 9739

擬牛頓法是求解非線性優化問題最有效的方法之一。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,需要滿足兩個條件:

1.擬牛頓條件:

2.要保證為gk正定矩陣,這是因為只有正定才能保證牛頓的搜尋方向是向下搜尋

最速下降法是梯度方法的一種實現,它的理念是在每次的迭代過程中,選取乙個合適的步長αk,使得目標函式的值能夠最大程度的減小。αk可以認為是函式ϕk(α)=f(x(k)−α∇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))(k))。

命題1說明在迭代過程中,沒產生乙個新點,對應的目標函式值都會下降。命題2說明了最速下降法的下降特性:只要∇f(x(k))≠0, 就有f(x(k+1) )(k))。對於某個k, 如果∇f(x(k))=0,說明x(k)滿足區域性極小點的一階必要條件,此時x(k+1) =x(k),這可以作為停止規則的基礎。

常見的停止條件

參考:

最速下降法與Newton法

乙個簡單的最優化問題如下 在二維空間上尋找函式的最大值。一般我們常見的解析法,是求導,得極值點。這裡不再討論。很多情況下解析法很難求解,常會用到一種迭代慢慢逼近的方法,就是迭代法。如下圖。迭代法由乙個基本的可行點出發,依次產生乙個可行點列,x1,x2,xk,f xk 1 迭代法基本步驟如下 1.乙個...

機器學習 最速下降法和牛頓下降法

入門教材常用二分法來求解實數求根的問題。我們現在來用普通迭代法 下降法來求解實數開立方根的問題。設當前實數為n,求根次數為k,根為s,那麼有s k n。所得偏差函式為f s s k n。顯然當代價函式f s 0時,我們便求出了n的k次根。現在我們開立方根,那麼k 3,代價函式為f s s 3 n。普...

最速下降法 and 共軛梯度法

註明 程式中呼叫的函式jintuifa.m golddiv.m我在之前的筆記中已貼出 最速下降法 最速下降法求解f 1 2 x1 x1 9 2 x2 x2的最小值,起始點為x0 9 1 演算法根據最優化方法 天津大學出版社 97頁演算法3.2.1編寫 v1.0 author liuxi bit fo...