梯度下降,共轭梯度,牛顿法,拟牛顿法的收敛速度对比
一、收敛速度理论对比
方法 | 收敛速度(一般非线性函数) | 收敛速度(二次凸函数) | 局部收敛性(接近极小点时) | 收敛阶 |
---|---|---|---|---|
梯度下降(GD) | 线性收敛(Linear) | 线性收敛(依赖强凸性) | 线性收敛 | |
共轭梯度(CG) | 超线性收敛(Superlinear) | 有限步收敛(n 步精确解) | 超线性收敛(若保持共轭性) | 超线性 |
牛顿法 | 局部二次收敛(Quadratic) | 二次收敛(1-2 步可达解) | 二次收敛 | |
拟牛顿法(如 BFGS) | 超线性收敛(Superlinear) | 超线性收敛(接近牛顿法速度) | 超线性收敛(接近二次收敛) | 超线性(接近二次) |
二、核心特性与收敛机制
1. 梯度下降(GD)
- 原理:沿负梯度方向迭代,步长\(\eta\)控制更新幅度。
- 收敛速度:
- 线性收敛:在强凸函数(满足
下,收敛速度为
(当使用精确线搜索)或指数级\(O(\alpha^k)\)(固定步长)。
- 慢的原因:仅利用一阶导数,忽略曲率信息,易在狭长山谷型函数中震荡或 zig-zag 收敛。
- 线性收敛:在强凸函数(满足
- 优势:计算简单,内存需求低(仅需梯度),适合大规模问题。
- 劣势:收敛速度慢,依赖步长调整,对非凸函数易陷入局部极小。
2. 共轭梯度(CG)
- 原理:针对二次型函数设计,通过构造共轭方向(关于 Hessian 矩阵正交),理论上在n维空间中n步精确收敛。
- 收敛速度:
- 二次函数:严格n步收敛(有限步算法),无需线搜索。
- 非二次函数:通过迭代更新共轭方向,表现为超线性收敛(收敛速度快于线性,但慢于二次)。
- 优势:无需存储 Hessian 矩阵(仅需梯度和历史方向),内存效率高于牛顿法,优于梯度下降。
- 劣势:依赖函数光滑性,对强非线性函数收敛速度下降,需定期重置方向(如 Fletcher-Reeves 重置)。
3. 牛顿法
- 原理:利用二阶导数(Hessian 矩阵H),通过求解
得到搜索方向
,实现 “二阶近似”。
- 收敛速度:
- 局部二次收敛:若初始点足够接近极小点且H正定,误差满足
,即误差呈平方级下降,迭代次数极少(如 10-20 步可达高精度)。
- 全局收敛性:若无合适阻尼(如线搜索或信赖域),可能发散(Hessian 非正定或初始点远离极小点)。
- 局部二次收敛:若初始点足够接近极小点且H正定,误差满足
- 优势:理论上最快的局部收敛速度,适合高精度需求的中小规模问题。
- 劣势:每次迭代需计算
的 Hessian 求逆(或分解),内存和计算量巨大,不适合大规模问题
时难以应用)。
4. 拟牛顿法(如 BFGS、L-BFGS)
- 原理:通过迭代更新矩阵
(或其逆),避免显式计算 Hessian,降低计算成本。
- 收敛速度:
- 超线性收敛:在满足强 Wolfe 线搜索条件下,对一般非线性函数收敛速度为超线性(如 BFGS 的收敛阶为
,
,接近牛顿法的局部收敛速度,但略慢于二次收敛。
- 改进版(如 L-BFGS):通过限制内存(仅存储最近m次迭代信息),将内存复杂度从
降至
,适合大规模问题(n可达
)。
- 超线性收敛:在满足强 Wolfe 线搜索条件下,对一般非线性函数收敛速度为超线性(如 BFGS 的收敛阶为
- 优势:平衡了收敛速度和计算成本,是实际应用中最常用的高阶优化方法之一。
- 劣势:依赖初始矩阵
(通常设为单位矩阵),对强非凸函数可能收敛到鞍点。
三、实际应用场景对比
场景 | 梯度下降(GD) | 共轭梯度(CG) | 牛顿法 | 拟牛顿法(BFGS/L-BFGS) |
---|---|---|---|---|
问题规模 | 大规模( | 中等规模( | 小规模( | 中等 - 大规模( |
函数类型 | 非凸、低光滑性 | 凸函数、二次型 | 凸函数、光滑 | 凸 / 非凸、中等光滑性 |
收敛速度需求 | 低精度、快速初值迭代 | 二次型问题首选 | 高精度、局部极小 | 平衡速度与计算成本 |
内存限制 | 极低(仅梯度) | 低(仅梯度和方向) | 高(存储 Hessian) | 中(BFGS 需 |
典型应用 | 深度学习(SGD 变种) | 稀疏线性系统求解 | 科学计算、优化测试函数 | 机器学习(逻辑回归、SVM) |
四、关键结论
-
收敛速度排序(从快到慢):
- 局部收敛:牛顿法(二次收敛)> 拟牛顿法(超线性,接近二次)> 共轭梯度(超线性)> 梯度下降(线性)。
- 全局收敛(非二次函数):拟牛顿法 ≈ 共轭梯度 > 牛顿法(需良好初始点)> 梯度下降。
-
理论与实践的平衡:
- 牛顿法的二次收敛性仅在局部且 Hessian 正定时成立,实际中可能因 Hessian 计算成本高或非正定而受限。
- 拟牛顿法(如 BFGS)通过近似 Hessian,在保持超线性收敛的同时大幅降低计算量,是多数优化问题的首选。
- 梯度下降虽慢,但凭借简单性和可扩展性,仍是大规模数据(如深度学习)的基石,常通过加速技巧(如动量、Adam)提升收敛速度。
-
函数特性的影响:
- 对于二次型函数,共轭梯度是最优选择(n步精确解),牛顿法仅需 1-2 步迭代。
- 对于强非线性、非凸函数,拟牛顿法和梯度下降更稳健,牛顿法可能因 Hessian 非正定而失效。