牛顿法是一种在实数域和复数域上近似求解方程根的迭代算法,被广泛推广用于求解无约束优化问题,核心思想是使用函数的二阶泰勒展开来构造迭代过程。
牛顿法有两个主要版本,但其核心思想一脉相承:
核心目的是快速、高效地收敛到问题的解(方程的根或函数的极值点),以其二次收敛速度而闻名,这意味着在接近解的时候,每次迭代的有效数字精度几乎会翻倍。
目标: 找到函数 f(x)=0 的解,下面从从几何直观和泰勒展开两个角度解析推导过程:
角度1 . 几何直观(一维情况): 假设当前的迭代点是 xk,希望找到一个更好的近似点 x_{k+1},牛顿法的迭代公式如下:

角度2 . 泰勒展开(可推广到高维): 假设当前估计值为xk,真实的根在xk+δ处,即f(xk+δ)=0。 将函数在xk处进行一阶泰勒展开:

解这个关于δ的线性方程:

因此,新的估计值为:

高维情况(求方程组F(x)=0的根): 泰勒展开变为:

其中J(xk)是雅可比矩阵,其元素

求解线性系统:

得到增量δ,然后更新:

目标: 找到函数 f(x) 的极小值点。
优化问题的解满足一阶必要条件:梯度为零,即 ∇f(x)=0,这实际上是一个求根问题,目标是找到梯度向量的根。因此,可以直接应用求根牛顿法,令 F(x)=∇f(x),其雅可比矩阵就是海森矩阵H(x)=∇2f(x)。
代入求根牛顿法的公式:

从局部二次近似的角度推导: 假设我们当前迭代点是 xk,将目标函数 f(x) 在 xk 处进行二阶泰勒展开:

我们的目标是找到一个增量 δ,使得这个二次近似函数 f^k(δ) 最小化。

直观解释: 牛顿法不仅考虑了梯度的方向(最陡下降方向),还考虑了函数的曲率(Hessian矩阵)。
因此,标准的优化牛顿法是寻找极小值的,如果想找极大值,需要对公式取反。
算法流程 初始化:给定初始点 x0x0,收敛阈值 ϵϵ,设置 k=0k=0。
开始迭代:

优点:
缺点:
改进算法:

应用场景: