牛頓法

概述

牛頓迭代法(Newton's method)又稱爲牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method),它是牛頓在17世紀提出的一種在實數域和複數域上近似求解方程的方法。

多數方程不存在求根公式,因此求精確根非常困難,甚至不可能,從而尋找方程的近似根就顯得特別重要。

牛頓法的幾何意義

上圖中 y=f(x) 是一個可微函數。

設 r 是 f(x)=0 的跟,選擇 x_{0} 作爲 r 的初始近似值,過點 (x_{0}, f(x_{0})) 做曲線 y=f(x) 的切線 L,那麼:y=f(x_{0})+f^{'}(x_{0})(x-x_{0}),則 L 與 x 軸交點的橫座標 x_{1}=x_{0}-\frac{f(x_{0})}{f^{'}(x_{0})},稱 x_{1} 爲 r 的一次近似值。

過點 (x_{1}, f(x_{1})) 做曲線 y=f(x) 的切線,並求該切線與 x 軸交點的橫座標 x_{2}=x_{1}-\frac{f(x_{1})}{f^{'}(x_{1})},稱 x_{2} 爲 r 的二次近似值。

重複以上過程,可以得到 r 的近似值序列,其中,

x_{n+1}=x_{n}-\frac{f(x_{n})}{f^{'}(x_{n})}

稱爲 r 的 n+1 次近似值。稱爲牛頓迭代公式。

這就是牛頓法的幾何解釋。

牛頓法步驟

1、確定迭代變量。在可以用迭代算法解決的問題中,至少存在一個可直接或間接地不斷由舊值遞推出新值的變量,這個變量就是迭代變量。

2、建立迭代關係式。所謂迭代關係式,指如何從變量的前一個值推出其下一個值的公式(或關係)。迭代關係式的建立是解決迭代問題的關鍵,通常可以使用遞推或倒推的方法來完成。

3、對迭代式過程進行控制。不能讓迭代過程無休止地執行下去。迭代過程的控制通常可分爲兩種情況:一種是所需的迭代次數是個確定的值,可以計算出來;另一種是所需的迭代次數無法確定。對於前一種情況,可以構建一個固定次數的循環來實現對迭代過程的控制;對於後一種情況,需要進一步分析得出可用來結束迭代過程的條件。

牛頓法的優缺點

下圖中綠色的線路爲梯度下降法的路線,紅色爲牛頓法的下降路線。牛頓法具有二次收斂性,因此比普通的梯度下降收斂的更快。

雖然牛頓法的收斂速度很快,但是有比較多的限制,比如函數必須具有二階偏導,黑塞矩陣必須正定。牛頓法需要計算黑塞矩陣及其逆,需要進行大量的運算,計算相當複雜。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章