牛頓法與擬牛頓法學習心得
阿新 • • 發佈:2018-12-21
1. 引言
在logistics迴歸中,我們通常使用梯度下降法(Gradient Decend)來優化目標函式。但梯度下降法的策略實際上是比較片面的,因為它只使用了一階導資訊,搜尋方向(梯度方向)比較偏向於區域性資訊。所以,我們引入了牛頓法。 這裡推薦一個牛頓法的講解系列Blog,講的很好,深入淺出,個人認為比李航大神的推導還要更詳細一點。 https://blog.csdn.net/itplus/article/details/21896453 所以關於牛頓法的詳細推導本篇不再贅述,下面只說一些總結。
2. 牛頓法
為了在優化過程中得到更好的效果,牛頓法應運而生。其基本思想是,通過二階泰勒展開引入函式的二階導資訊,這樣在優化過程中,優化目標不僅會根據梯度方向、還會根據梯度的變化趨勢作改變,以此來加快優化速度。 牛頓法有一些特點:
- 海塞矩陣必須正定,至於原因下面說。
- 具有二次收斂性,即當目標函式為二次函式時,牛頓法只需迭代一次就能達到最優值。
牛頓法也有不少缺點:
- 牛頓法的步長是固定的,所以在高次冪函式下,可能會有區域性震動的情況,即
- 必須有二階連續偏導數,否則無法用泰勒公式展開。
2.1 為什麼海塞矩陣必須正定
假設目標函式的x是個標量,那麼對在第k次迭代結果的處附近用泰勒公式二階展開: 高等數學中有一個經典的推論,即某個具有二階連續導數的函式,當某個點x的一階導為0,二階導>0時,則x為極小值點。我們在優化目標函式時,往往都是把優化問題作為一個極小化問題考慮。 所以當目標函式的x是個向量
3.擬牛頓法
牛頓法固然收斂速度快,但其弱點也十分明顯,條件苛刻都是其次,單是對求逆這一步操作就十分繁瑣。所以引入了擬牛頓法,即“類似牛頓法的方法”,通過將替換為一個滿足擬牛頓條件的近似矩陣來簡化操作,使優化過程中不用再求二階導和矩陣的逆,這樣也就大大提高了優化的效能。 關於牛頓法與擬牛頓法的更加細節的問題,參閱開頭推薦的博文即可。