[最优化方法笔记] 牛顿法与修正牛顿法
1. 牛顿法
1.1 梯度下降法的缺点
对于无约束优化问题:
使用梯度下降法进行迭代:
梯度下降的基本策略式沿着一阶导数的反方向(即最速下降方向)迭代。然而,当
我们可以利用
1.2 牛顿法
对于二次可微函数
由
将
令导数为0,得:
此方程称为 牛顿方程,由此可以得到牛顿法的搜索方向
若
牛顿方向:
这就是 牛顿法 的迭代方程。一般情况下, 步长

牛顿法和梯度法对比:
设基于梯度的迭代方程为
对于 梯度下降法,有:
对于 牛顿法,有:
显然,牛顿法的
1.3 牛顿法过程
牛顿法是解决无约束优化问题的迭代算法之一。
牛顿法基本过程:
-
任选初始点
-
计算
,若目标函数满足终止条件 (或者其他终止条件),则令 为最终解,结束整个算法 -
计算
矩阵 , -
计算搜索方向
-
迭代更新:
2. 牛顿法收敛性
2.1 经典牛顿法的收敛性
假设
即函数
若
-
若初始点
距离 足够近,则迭代点列 收敛到 (局部收敛性) -
二次收敛到 -
二次收敛到 .
2.2 牛顿法收敛速度
牛顿法收敛速度 非常快,不会随着问题维度的增大而大幅增加所需的迭代次数,且不需要通过线搜确定迭代更新的步长。
但是,在实际使用中会存在一些 限制:
-
初始点
需要距离最优解 充分近(局部收敛性)。往往 先用梯度下降法 逼近得到较低精度的解,后用牛顿法 加速。 -
矩阵 需 正定,如果是 半正定,可能会退化到 线性收敛。一般无法保证 矩阵可逆,也不能保证是正定的。 -
矩阵 条件数较多 时,求 矩阵以及求其逆,需要很高的计算成本。故也对 初始点 的选取非常严格。 -
牛顿法的搜索方向下降 需要依赖于
矩阵正定。
3. 修正牛顿法
3.1 修正角度
牛顿法(经典牛顿法) 优缺点非常明显,我们往往从以下两个缺点对牛顿法进行修正:
-
初始点
需要距离 足够近,否则,会导致迭代不稳定,进而导致算法 无法收敛。(局部收敛性) -
牛顿法的搜索方向下降 需要依赖于
矩阵正定,否则会导致牛顿方向不是下降的。
从以上的两个方面,可以分别考虑用以下方法完成修正:
-
加上 线搜索确定步长
,由此增加稳定性(精确解、直接搜索、 非精确准则等) -
对
进行修正,使其 一定正定 (即 矩阵所有特征值均大于 )
对于第一点,下面提出了 阻尼牛顿法;对于第二点,下面提出了 L-M算法(Levenberg-Marquardt)。
3.2 阻尼牛顿法
由于不能保证
当 步长
阻尼牛顿法基本过程:
-
任选初始点
-
计算
,若目标函数满足终止条件 (或者其他终止条件),则令 为最终解,结束整个算法 -
计算
矩阵 , -
计算搜索方向
-
沿着搜索方向
进行 线搜索,确定 步长 -
迭代更新:
3.3 L-M算法
牛顿法中在迭代点
故可以为
即使得
其中
在机器学习邻域的线性回归问题中,岭回归也是采用这种方法,使得协方差矩阵的逆一定存在。
在
参考
刘浩洋, 户将, 李勇锋, 文再文 《最优化:建模、算法与理论》
一切都是命运石之门的选择,本文章来源于博客园,作者:MarisaMagic,出处:https://www.cnblogs.com/MarisaMagic/p/17904136.html,未经允许严禁转载
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)