1. 证明线性方程Ax = b 当系数矩阵A 超定时,最小二乘解为![x=\left ( A^{T}A \right )^{-1}A^{T}b](https://latex.csdn.net/eq?x%3D%5Cleft%20%28%20A%5E%7BT%7DA%20%5Cright%20%29%5E%7B-1%7DA%5E%7BT%7Db)
2. 调研最速下降法、牛顿法、高斯牛顿法和列文伯格—马夸尔特方法各有什么优缺点?除了我们举的 Ceres 库和 g2o 库,还有哪些常用的优化库。(你可能会找到一些MATLAB 上的库)
Ipopt、NLopt、slam++、Optimization Toolbox(MATLAB)
3. 为什么高斯牛顿法的增量方程系数矩阵可能不正定?不正定有什么几何含义?为什么在这种情况下解就不稳定了?
高斯牛顿法将作为Hessian矩阵的近似,而在实际的计算中
只有半正定性(例如:当 J 为零向量时,增量方程系数矩阵是不正定的)。当Hessian矩阵不正定时,此时的目标函数
,此时对于
的近似是一条水平的直线,在
点处函数是“平坦的”,无法给出下一次迭代的下降方向(一阶导数恒为0),所以在这种情况下解不稳定。
4. DogLeg 是什么?它与高斯牛顿法和列文伯格—马夸尔特方法有何异同?请搜索相关的材料。
DogLeg是信赖区域(Trust-Region)方法的一种,包含了高斯牛顿法和最速下降法两种方法,即用置信域的方法在最速下降法和高斯牛顿法之间进行切换,相当于是一种加权求解。通过引入信赖区域的概念,对两种方法计算得到的增量,在信赖区域进行加权得到新的增量并用于后续的迭代,因此计算得到的下降路径类似于DogLeg,所以被称为DogLeg方法。
5. 阅读 Ceres 的教学材料(http://ceres-solver.org/tutorial.html)以更好地掌握其用法
略
6. 阅读 g2o 自带的文档,你能看懂它吗?如果还不能完全看懂,请在阅读第10讲和第11讲之后再回来看。
略
7. * 请更改曲线拟合实验中的曲线模型,并用 Ceres 和 g2o 进行优化实验。例如,可以使用更多的参数和更复杂的模型。
后续更新