概述
牛頓迭代法(Newton's method)又稱爲牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method),它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。
多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。
牛頓法的幾何意義
上圖中 y=f(x) 是一個可微函數。
設 r 是 f(x)=0 的跟,選擇 作爲 r 的初始近似值,過點 做曲線 y=f(x) 的切線 L,那麼:,則 L 與 x 軸交點的橫座標 ,稱 爲 r 的一次近似值。
過點 做曲線 y=f(x) 的切線,並求該切線與 x 軸交點的橫座標 ,稱 爲 r 的二次近似值。
重複以上過程,可以得到 r 的近似值序列,其中,
稱爲 r 的 n+1 次近似值。稱爲牛頓迭代公式。
這就是牛頓法的幾何解釋。
牛頓法步驟
1、確定迭代變量。在可以用迭代算法解決的問題中,至少存在一個可直接或間接地不斷由舊值遞推出新值的變量,這個變量就是迭代變量。
2、建立迭代關係式。所謂迭代關係式,指如何從變量的前一個值推出其下一個值的公式(或關係)。迭代關係式的建立是解決迭代問題的關鍵,通常可以使用遞推或倒推的方法來完成。
3、對迭代式過程進行控制。不能讓迭代過程無休止地執行下去。迭代過程的控制通常可分爲兩種情況:一種是所需的迭代次數是個確定的值,可以計算出來;另一種是所需的迭代次數無法確定。對於前一種情況,可以構建一個固定次數的循環來實現對迭代過程的控制;對於後一種情況,需要進一步分析得出可用來結束迭代過程的條件。
牛頓法的優缺點
下圖中綠色的線路爲梯度下降法的路線,紅色爲牛頓法的下降路線。牛頓法具有二次收斂性,因此比普通的梯度下降收斂的更快。
雖然牛頓法的收斂速度很快,但是有比較多的限制,比如函數必須具有二階偏導,黑塞矩陣必須正定。牛頓法需要計算黑塞矩陣及其逆,需要進行大量的運算,計算相當複雜。