最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结

目录

一、最小二乘法引出

1、线性最小二乘与非线性最小二乘的关系
2、梯度下降法

二、非线性最小二乘(高斯牛顿、LM)

三、线性最小二乘

LZ听师兄讲,SLAM的优化方法是基础知识,尤其最小二乘法是所有优化的基础。接下来将对以下知识进行总结。
最小二乘法
非线性:最速下降法、牛顿法、高斯牛顿法(GN)、列文伯格-马夸尔特(LM)联系。
**线性:**QR分解、乔姆斯基分解法求解(Cholesky)、奇异值分解(SVD)。

一、最小二乘法引出

最小二乘问题通常可以表述为,通过搜集到的一些数据(获取得到的样本),对某一个模型进行拟合,并尽可能的使得模型结果和样本达到某种程度上的最佳拟合,在SLAM中亦可以看作为观测值和模型估计值之间的误差:
在这里插入图片描述
其中 x 为模型中参数所组成的向量,e 通常被称为残差向量(residual vector).
最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第1张图片

1、线性最小二乘与非线性最小二乘的关系

**线性:**直接对目标函数求导,令其等于零,以此求得极值,比较后得到全局最小值。
**非线性:**由于函数复杂无法直接写出导数形式,无法直接得到全局最小值。退而求其次,从一个初始估计值通过不断迭代寻找局部最小值,不断寻找梯度并下降。

2、梯度下降法

最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第2张图片
最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第3张图片
目标:求解步长dx,
思路:将目标函数||f(x+dx)||2在x附近进行泰勒展开
在这里插入图片描述
**保留一阶:**最速下降法。梯度下降法值保留泰勒展开的一阶项(只有雅克比项J),
**保留二阶:**牛顿法。牛顿法保留到二阶项(有海森矩阵项H)。
最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第4张图片

二、非线性最小二乘(高斯牛顿、LM)二、非线性最小二乘(高斯牛顿、LM)

最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第5张图片
高斯牛顿和LM的增量方程
最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第6张图片
关联:
(H+λI)△x=b
当λ= 0时,L-M等于G-N;
当λ= ∞时,L-M等于一阶梯度下降
L-M的好处就在于:如果下降的太快,使用较小的λ,如果下降的太慢,使用较大的λ。

区别:
**梯度法:**保留一阶(最速下降法、常说的梯度下降法)与保留二阶(牛顿法)是将目标函数||f(x+dx)||2在x附近进行泰勒展开。由于牛顿法需要求解二阶导,也就是hessian matrix,运算量大,不利于实现,所以通常在牛顿法的基础上用去掉二阶项,用一阶项来近似二阶导,从而保证了计算效率。
高斯-牛顿和LM法则主要是针对非线性最小二乘问题提出的解决方案。
一阶和二阶梯度法:
在这里插入图片描述
这里的J和H是||f(x)||^2关于x的一阶、二阶导数。
**高斯牛顿法:**先对 f(x)进行一阶泰勒展开,然后再取平方
在这里插入图片描述
这里的J是 f(x)关于x的一阶导数,二阶矩阵Hessian用J^T*J作为H的近似

**高斯-牛顿法:将非线性函数f(x)进行一阶泰勒展开(此处我们展开的只是函数F(x)**而非目标函数),**缺点:**需要保证H矩阵为正定的,但是在实际中H矩阵很有可能是半正定的或者其他情况。
**LM法:**基于信赖区域理论,是由于高斯-牛顿方法在计算时需要保证矩阵的正定性,于是引入了一个约束,从而保证计算方法更具普适性。
(1) GN:线搜索
将f(x)进行一节泰勒展开,最后求解线性方程H△x=b;用JT*J近似H矩阵,省略H复杂的计算。
过程;
稳定性差,可能不收敛;
(2) LM:信赖区域;
求解线性方程(H+λI)△x=b;
提供更稳定,更准确的增量

三、线性最小二乘

1、正规方程
最小二乘表达式为:
在这里插入图片描述
正规方程(Normal Equation)
最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结_第7张图片
2、
参考文献:
1、《视觉SLAM十四讲》
2、博客:https://www.cnblogs.com/leexiaoming/p/7224781.html
3、视觉SLAM常见的QR分解SVD分解等矩阵分解方式https://blog.csdn.net/wangshuailpp/article/details/80209863

你可能感兴趣的:(视觉SLAM)