高斯牛顿法 梯度下降法 LM算法的区别
高斯-牛顿法(Gauss-Newton)、梯度下降法(Gradient Descent)和LM算法(Levenberg-Marquardt)都是用于最小化目标函数的优化算法,特别常用于非线性最小二乘问题中。它们之间的本质区别在于对目标函数的处理方式和每一步的迭代策略。下面是它们的核心区别:
1. 梯度下降法(Gradient Descent)
-
思想:沿着目标函数负梯度方向迭代更新。
-
步骤:
其中 α 是学习率。
-
优点:简单、通用,适用于各种优化问题。
-
缺点:收敛慢;对学习率敏感;不考虑目标函数的二阶信息。
2. 高斯-牛顿法(Gauss-Newton Method)
-
适用场景:非线性最小二乘问题,即:
-
思想:利用残差函数
的一阶泰勒展开,近似目标函数的Hessian矩阵。
-
更新公式:
其中 J 是残差函数对参数的雅可比矩阵。
-
优点:比梯度下降更快,适用于残差平方和类问题。
-
缺点:当
不可逆或病态时不稳定;不适用于所有类型的目标函数。
3. LM算法(Levenberg-Marquardt)
-
综合了梯度下降和高斯-牛顿的优点。
-
核心思想:在高斯-牛顿法中加入阻尼因子,使其在远离最优解时更像梯度下降,在接近最优解时更像高斯-牛顿。
-
更新公式:
其中 λ 是阻尼系数(动态调整)。
-
优点:
-
更稳定;
-
收敛快;
-
能应对非线性较强的最小二乘问题。
-
-
缺点:实现复杂度稍高;需要合理调整阻尼因子。
特性 | 梯度下降法 | 高斯-牛顿法 | LM算法 |
---|---|---|---|
是否使用二阶信息 | 否 | 近似使用(Hessian≈JᵀJ) | 是(改进版Hessian) |
收敛速度 | 慢 | 快 | 更快,且更稳定 |
稳定性 | 高(步长小) | 较差(JᵀJ病态则不稳定) | 高(可调阻尼) |
使用场景 | 广泛 | 非线性最小二乘问题 | 非线性最小二乘问题 |
调参难度 | 学习率 | 无 | 阻尼参数需动态调节 |