在辨識工作中,常常需要對辨識准則或者判據進行求極值,這往往涉及到求非線性方程(組)的解問題。牛頓迭代法是一種常用方法。下面把自己對牛頓迭代法的學習和理解做個總結。
1.一元非線性方程的牛頓迭代公式和原理
以一元非線性方程 f(x)=0 為例,對函數 f(x)進行Taylor級數展開(只展開至線性項)得
f(x) = f(x0)+f'(x0)(x-x0)
所以方程可寫成
f(x0)+f'(x0)(x-x0) = 0
其中x0是給定的已知值,則不難推導出方程的解(當然,只是近似解,畢竟Taylor展開過程中只取了線性項)
x = x0 - f(x0) /
f'(x0)
其中x不是真實解,但是相比之前的x0更靠近真實解了,因此可以多重復幾次上述過程,從而使得到的解非常接近准確值。所以,對於一元非線性方程,牛頓拉夫遜迭代公式為:
x(k+1) = x(k) -
f(x(k)) /
f'(x(k))
根據Taylor級數的幾何意義我們可以從幾何上形象的看牛頓迭代法的求解f(x)=0的過程。
第一次迭代x1 = x0 -
f(x0) /
f'(x0),其中
f(x0) /
f'(x0)的幾何意義很明顯,就是x0到x1的線段長度(這可以從直角三角形的知識得到)。第二次迭代x2 = x1 - f(x1) / f'(x1),其中f(x1) / f'(x1)的幾何意義很明顯,就是x1到x2的線段長度。同理可以進行第三次迭代第四次迭代,可以明顯的看出x的取值在不斷逼近真實解x*。
可能有人問,迭代求得的結果會不會不收斂,也就是x會不會偏離x*。由於x0是在x*附近區域取值的,因此x0到x1這段曲線應該認為是平滑的沒有轉折的,因此切線與x軸的交點只會越來越接近真實解x*。但是如果x0的取值離x*比較遠的話,那么
x0到x1這段曲線上可能有“轉折”,這樣就可能引起迭代的不收斂。下圖中迭代從x0到x1是在靠近真實解,但x2卻反而遠離真實解。
這也是牛頓拉夫遜迭代法在解非線性方程(組)問題時,要求初值選定盡量接近真實解得原因。
2.二元非線性方程組的牛頓迭代公式

可以看出,對二元非線性方程組的每一個方程分別Taylor展開並推導相對來說麻煩了一些,但是也是可接受的。但是對於三元及更多元的非線性方程組來說,分別對每一個方程進行Taylor展開最后求解多元線性方程組也是非常復雜的。所以用矩陣的形式,根據牛頓迭代的原理和意義進行推導,能使得推導過程和表達式更簡單。
3.多元函數方程組迭代