一、最速下降法
1.1 基本原理
梯度下降法和最速下降法的区别是是否需要计算步长。步长的求法,对步长求导等于零,求出步长。直线模拟会有锯齿震荡。
负梯度方向,为下降最快的方向,如下图。
梯度的求法,实际就是求骗导。
1.2 求步长
步长的求法:两种方法,一种是直接对步长求导,令导数为零,求出步长,如下面的例子。
另一种,是进行二阶泰勒展开近似,然后对步长求导,令导数为零,求出步长。
1.3 收敛性
锯齿震荡现象,相邻两次方向相互垂直。原因如下:求步长时,令导数为零,有如下公式推导。
二、牛顿法
注意:求x的变化量(x-xk)时,是对x变化量求导。
三、高斯牛顿法
高斯牛顿法的内容来自高斯牛顿法详解_gauss-newton算法步骤-CSDN博客
四、LM法及狗腿法
关于LM、LMF及狗腿法,请参阅如下博客,其讲的比较清晰。【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法 - 豆奶特 (dounaite.com)
六、预条件共轭梯度法
6.1 预条件共轭梯度法
共轭梯度法的收敛性分析:
设A为n x n对称正定矩阵,其最大与最小特征值分别为λ1,λn。求解A x = b 的共轭梯度法。当λ1>>λn时,共轭梯度法的收敛效率会变得比较低。
预处理的基本思想:
预处理被称为PCG方法(preconditioned conjugated gradient method)既然共轭梯度法的收敛速度取决于系数矩阵的特征值,那么我们可以将A x = b 转化为等价的B x = c,使得B x = c在与A x = b同解的前提下,而B的最大、最小的特征值之比远小于A的最大、最小的特征值之比。从而再次运用共轭梯度法求解方程组能够达到提高收敛速度的效果。
如下为不完全因式分解预条件共轭梯度法。