牛頓法與梯度下降法相比,收斂速度更快,在搜索空間中進行二階收斂,即以橢圓曲面去逼近最優解,也可以將牛頓法看作二次曲面下的梯度下降法。牛頓法對於凸二次最優問題,迭代一次即可得到最優解。
首先給出無約束最優目標問題定義(統計學習方法附錄B):
其中,
假設f(x)具有二階連續偏導,若第k次迭代值爲
其中,
學習高數時,我們知道,對於有二階倒數的函數求極小值,要使一階導數等於0,二階導數大於0。在這裏,f(x)有極小值也要求一階導數等於0,其海賽矩陣是正定矩陣。
牛頓法的迭代公式通過極小點的必要條件
在
由極小點條件
令
綜上,牛頓法的過程如下:
(1)、取初始值
(2)、計算
(3)、計算海賽矩陣
(4)、利用式
(5)、置
由過程(3)可知,牛頓法在求解過程中,需要在每次迭代過程中計算海賽矩陣的逆矩陣,比較複雜,這也是制約牛頓法的一個因素,因此人們對牛頓法進行了改進,提出了擬牛頓法。由過程(4)可知,牛頓法使用二階導數來對當前點進行更新,不僅考慮了梯度下降的方向,還考慮了梯度的梯度,根據梯度的變化自動更新步長。此外,牛頓法對初始點的選取敏感,若選取的初始點離極小點太遠,會造成海賽矩陣非正定,從而使得算法不一定收斂,因此在使用中,會配合梯度下降法一起使用,當點離極小點比較近時,使用牛頓法來更新。