1、求解方程
並不是所有的方程都有求根公式,或者求根公式很複雜,導致求解困難。利用牛頓法,可以迭代求解。原理是利用泰勒公式,在 x0 處展開,且展開到一階,即:
f(x)=f(x0)+(x−x0)f′(x0)
求解方程 f(x)=0,即:
f(x0)+(x−x0)f′(x0)=0x=−f′(x0)f(x0)+x0
因爲這是利用泰勒公式的一階展開進行求解的,所以通過上述方程求解出的 x 只是使 f(x) 的值比 f(x0) 更加接近於0,而並不是完全等於0。如下圖所示:
於是乎,迭代求解的想法就很自然了,可以進而推出:
xn+1=xn−f′(xn)f(xn)
通過對上式進行迭代,最終必然會在 f(x∗)=0 的時候收斂,這就是用牛頓法進行方程求解的過程。
2、用於最優化問題
求解方程的問題就是求解 f(x)=0,而最優化問題就是求解 f(x) 的極值,也即 f′(x)=0,爲了求解 f′(x)=0,我們需要把 f(x) 泰勒展開到 2 階形式:
f(x)=f(x0+Δx)=f(x0)+f′(x0)(x−x0)+21f′′(x0)(x−x0)2
對上式進行兩邊求導之後可以得到:
f′(x)=f′(x0)+(x−x0)f′′(x0)=0Δx=(x−x0)=−f′′(x0)f′(x0)
從而可以得到迭代公式:
xn+1=xn+Δx=xn−f′′(xn)f′(xn),n=0,1,...