牛顿法

概述

牛顿迭代法(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、对迭代式过程进行控制。不能让迭代过程无休止地执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程的条件。

牛顿法的优缺点

下图中绿色的线路为梯度下降法的路线,红色为牛顿法的下降路线。牛顿法具有二次收敛性,因此比普通的梯度下降收敛的更快。

虽然牛顿法的收敛速度很快,但是有比较多的限制,比如函数必须具有二阶偏导,黑塞矩阵必须正定。牛顿法需要计算黑塞矩阵及其逆,需要进行大量的运算,计算相当复杂。

 

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