最速下降法 (绿色) 与牛顿法 (红色) 在求最小值问题上的比较 (带有步长). 可见牛顿法根据曲率选择了一条“快捷方式”.
牛顿法是微积分学中, 通过迭代以求解可微函数
的零点的一种算法 (即求
使得
). 而在优化中, 牛顿法通常被运用于求解一个二次可微函数
的一阶导数
的零点 (即求
使得
), 同时也是
的驻点. 因此从另一个角度而言,应用于优化的牛顿法是搜索函数
的最小值或最大值的一种算法。
一维问题的牛顿法主要步骤如下:
取一个点
为初值, 依如下公式迭代:

直至满足一定条件 (如
或
, 其中
为一个给定的足够小的常量) 后, 算法终止。
在一维问题中, 牛顿法将构造一个以
为首项, 收敛到
的数列
, 其中
使得
成立.
在
处的二阶泰勒展开式
为:

我们希望找到
使
为
的一个驻点。则将上式对
进行求导:

上述方程的解
满足

收敛于
的驻点
.
牛顿法的几何意义为: 在每一次迭代中,均以一个二次函数去逼近
. 具体而言:
在一维问题中,已知
,
,
及
, 设二次函数表逹式为
, 依下列方程求解未知数



然后二次函数
的极值点即为下一个迭代点,

而在高维问题中, 上述的极值点也可以是鞍点. 值得一提的是, 如果
恰为一个二次函数, 则其极值点只需一次迭代中即可找到.
上述的一维问题的迭代法可以被推广至多维问题. 只需将导数替换为梯度 (
), 并将二阶导数的倒数替换为Hessian矩阵的逆矩阵 (
), 即:
![{\displaystyle x_{n+1}=x_{n}-[\mathbf {H} f(x_{n})]^{-1}\nabla f(x_{n}),n\geq 0.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b8df82c9549bc9560ae821e0ad21239a81e7a8f3)
通常, 使用牛顿法时会加入一个步长变量
作微调以使每一步迭代都满足Wolfe条件, 即,
![{\displaystyle x_{n+1}=x_{n}-\gamma [\mathbf {H} f(x_{n})]^{-1}\nabla f(x_{n}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1cef3405e2d201a4572876d0a6f03bfa4821094)
这个方法被称为无约束牛顿法, 通常用于第一步之后的迭代.
只要牛顿法适用, 其收敛于最小值或最大值的速度均颇快于最速下降法. 事实上, 对于每一个极小值, 都存在一个邻域
使得, 只要Hessian矩阵是可逆的且是一个关于
的Lipschitz连续函数, 以
为初值, 步长
的牛顿法是二次收敛的.
求一个高维问题的Hessian矩阵的逆矩阵是一件颇费工夫的事情. 在实际应用中, 通常会用向量
作为线性方程组
![{\displaystyle [\mathbf {H} f(x_{n})]\Delta x=-\nabla f(x_{n})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fc3b3a8828b72fffd76cf3d3652bb4a859e50221)
的解. 这个求解过程中, 透过使用各种矩阵分解方法同近似求解方法, 求解速度可以大大提升. 然而, 这些矩阵分解方法或近似求解方法的使用需要满足一定条件; 例如, Cholesky分解同共轭梯度法只有在
是正定矩阵时才适用. 这看似是一个限制, 但有时也能充当检验答案的工具; 例如, 在一个最小化问题 (
) 中, 求出一个
使得
但
不是正定矩阵, 那么
只是
的一个鞍点而非极小值点.
另一方面, 一个有约束的问题的求解过程可能会遇到当前解陷入一个鞍点的情况, 这时的Hessian矩阵是对称不定的; 此时则要使用其他方法, 例如Cholesky分解的
变形或共轭梯度法等的方法, 来迭代得出
.
此外, 为规避求Hessian矩阵的繁琐, 也存在多种拟牛顿法, 通过调整梯度以求出Hessian矩阵的近似.
如果Hessian矩阵
接近一个奇异矩阵, 则其逆矩阵会变得数值不稳定且迭代不会收敛. 此种情形下, 前人探索出了很多成功的方法来解决问题. 目标之一是通过引入修正矩阵
使得
是对称正定的. 其中一种方法是将
对角化, 选择
使
有相同的特征向量, 但每一个
的负特征值都被替换成
一个应用于莱文贝格-马夸特方法 (其中用到了近似的Hessian矩阵) 的方法是引入一个带系数的单位矩阵
, 系数在每一步迭代中调整. 对于较大的
及较小的Hessian矩阵, 迭代将变得与以
为步长的最速下降法相似, 这将使得迭代收敛变慢, 但在Hessian矩阵不定或半定的情况下, 收敛更稳定.