概述
牛顿迭代法(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、对迭代式过程进行控制。不能让迭代过程无休止地执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程的条件。
牛顿法的优缺点
下图中绿色的线路为梯度下降法的路线,红色为牛顿法的下降路线。牛顿法具有二次收敛性,因此比普通的梯度下降收敛的更快。
虽然牛顿法的收敛速度很快,但是有比较多的限制,比如函数必须具有二阶偏导,黑塞矩阵必须正定。牛顿法需要计算黑塞矩阵及其逆,需要进行大量的运算,计算相当复杂。