知识库 › 定位仓库学习 › 核心算法 › 最小二乘问题

解决优化问题的最终目的就是找到让结果最符合要求的答案,这个问题可以分为线性优化和非线性优化两个层面考虑,前者讨论的是针对目标函数符合线性关系的情况下,如何找到最符合观测参数的拟合数据,而后者针对的则是非线性函数中寻找最优目标的问题。

在SLAM领域,一般涉及到的问题都是通过传感器数据等去估计状态,也就是通过一系列观测数据构成的一帧观测矩阵去推算最符合当前状态的状态矩阵。在这个情况下,我们采用最大似然估计,通过对满足特定分布的观测数据概率进行运算,最终转换成某种含有二次多项式求和的代价函数,对目标自变量,也就是最终的状态向量的估计也就变成了对代价函数最小值的求解,也就是最小二乘这个名字的来源。对于线性函数,直接对代价函数求导并令导数等于0就能求得极值点位置,能够一步到位地得到目标估计;而对于非线性函数(大部分情况下),我们需要通过手动取点来让函数值快速下降去逼近最小值,进而衍生出常用的四种下降方法:牛顿法、梯度下降法、高斯牛顿法和列文伯格-马夸特法

本节目录

  • 牛顿法 — 牛顿法的本质是通过函数的一阶展开拟合函数的变化趋势,然后去逼近零点位置。最常用的地方其实是函数零点的求解,或者说是一种快…
  • 梯度下降法 — 在工程实践中,我们通常还会使用梯度下降法进行最优值的估计,特别是在神经网络领域。牛顿法基于一阶和二阶导数进行下降,每一步…
  • 高斯牛顿法 — 之前讨论了牛顿法和梯度下降法,前者基于海森矩阵对设状态,残差为向量函数,代价函数为标量函数雅可比矩阵定义为对代价函数展开…
  • 列文伯格-马夸特法 — 之前介绍了牛顿法、梯度下降法和高斯牛顿法,其各自有自己的优点和缺点。我们需要的是一种更加智能的算法,通过自动迭代去适应环…