牛頓法(英語:Newton's method)又稱為牛頓-拉弗森方法(英語:Newton-Raphson method),它是一種在實數域和復數域上近似求解方程的方法。方法使用函數f(x)的泰勒級數的前面幾項來尋找方程f(x)=0的根。
一般情況對於f(x)是一元二次的情況直接應用求根公式就可以了,但是對於更高次(在5次方以上),沒有求根公式,於是牛頓想了個近似求解的辦法——牛頓法
首先以一元函數為例來說明牛頓法的具體過程
假設我們要求解函數f(x)=0的根,我們首先把函數在
處展開成泰勒級數的形式並取其線性部分:

令g(x)=0,則

g(x)=0的根與f(x)=0的根近似相等,所以我們可以將此次計算看做一次迭代的過程,即:

看下面的定理:
關於牛頓法和梯度下降法的效率對比:
從本質上去看,牛頓法是二階收斂,梯度下降是一階收斂,所以牛頓法就更快。如果更通俗地說的話,比如你想找一條最短的路徑走到一個盆地的最底部,梯度下降法每次只從你當前所處位置選一個坡度最大的方向走一步,牛頓法在選擇方向時,不僅會考慮坡度是否夠大,還會考慮你走了一步之后,坡度是否會變得更大。所以,可以說牛頓法比梯度下降法看得更遠一點,能更快地走到最底部。(牛頓法目光更加長遠,所以少走彎路;相對而言,梯度下降法只考慮了局部的最優,沒有全局思想。)
牛頓法應用f(x)求極值的問題中就是將求f(x)的極值可以轉化為求
的解,這時我們會用到f(x)泰勒展開式中的二階偏導數,對於多元函數,其泰勒展開式中的二階項可以寫成如下形式:

其中H(f)是海森矩陣,其形式為

假設我們要求解f(x)在多元條件下的極值
首先需要求
f(x)在
處的包含二階項的泰勒展開式(省去高階無窮小)為

令
可得:

解得

所以多元函數的梯度更新公式

牛頓法的優缺點總結:
優點:二階收斂,收斂速度快;
缺點:牛頓法是一種迭代算法,每一步都需要求解目標函數的Hessian矩陣的逆矩陣,計算比較復雜。

