slam数学基础——最小二乘

一、前言

1. 最小二乘是一类特殊形式的最优化求解问题,相比于其他优化问题,求解方式比较简洁

2.最小二乘被广泛应用于各种实际问题的建模,在求解实际工程问题中有着广泛的应用,例如 slam 中随处可见最小二乘的声影

 

二、线性最小二乘法

1. 预备知识

1.  slam数学基础——最小二乘, rank(null_space) + rank(A) = n

2. 齐次线性方程组求解

   slam数学基础——最小二乘              (1)

     slam数学基础——最小二乘 肯定是该方程组的一个解

    a. 存在唯一零解:   rank(null_space) = 0, 等价于  rank(A) = n. 等价于 slam数学基础——最小二乘 的各个列向量线性无关

    b. 存在除了零解以外的其他解: rank(null_space)>0, 等价于 rank(A) < n,等价于 slam数学基础——最小二乘 的各个列向量线性相关

3. 非齐次线性方程组求解

    slam数学基础——最小二乘             (2)

     解的形式:  特解+通解:  若 slam数学基础——最小二乘 是 slam数学基础——最小二乘 的解,  slam数学基础——最小二乘 是 slam数学基础——最小二乘 的一个解,那么   slam数学基础——最小二乘  也是 slam数学基础——最小二乘 的一个解

     a. 没有解:  slam数学基础——最小二乘 向量不在 slam数学基础——最小二乘 的列向量张成的向量空间

     b. 唯一解:  slam数学基础——最小二乘 向量在 slam数学基础——最小二乘 的列向量张成的向量空间, 且  rank(null_space) = 0  (  slam数学基础——最小二乘 只有唯一零解 )

     c. 无穷多个解:  slam数学基础——最小二乘 向量在 slam数学基础——最小二乘 的列向量张成的向量空间, 且  rank(null_space) > 0   (  slam数学基础——最小二乘 有多个解 )

 

2. 非齐次最小二乘

1. 定义

      slam数学基础——最小二乘                             (3)

2.和求解线性方程组的联系

     当求解(2)时,若该方程无原始解满足该方程,那么这时候需要求一个最小二乘解 slam数学基础——最小二乘,也就是等价于求解 (3)

     注意: 最小二乘解并不是原始解

3. 求解

    slam数学基础——最小二乘 在 slam数学基础——最小二乘 的列向量张成的向量空间,  slam数学基础——最小二乘 向量不在 slam数学基础——最小二乘 的列向量张成的向量空间,若要使得  slam数学基础——最小二乘 最小,

    当且仅当 slam数学基础——最小二乘 与 slam数学基础——最小二乘 的列向量张成的向量空间 的正交时, slam数学基础——最小二乘 最小, 如下图:

slam数学基础——最小二乘

 

        那么有  slam数学基础——最小二乘                            (4)

        得到  slam数学基础——最小二乘                                 (5)

        最后通过求解式(5) 可以得到最小二乘解, (5) 可以通过 SVD 求解

3. 齐次最小二乘

1. 定义

       slam数学基础——最小二乘                  (6)

2.和求解线性方程组的联系

     当求解(1)时,若该方程没有非零解满足该方程,那么那么这时候需要求一个最小二乘解 slam数学基础——最小二乘,也就是等价于求解 (6)

3. 求解

    将矩阵 A SVD 分解,slam数学基础——最小二乘                     (7)

    展开为: slam数学基础——最小二乘          (8)

    其中 slam数学基础——最小二乘 为矩阵的秩, slam数学基础——最小二乘 , slam数学基础——最小二乘 的各个列向量互相正交, 且对角矩阵中的奇异值按照从大到小的顺序排列,那么有:

         slam数学基础——最小二乘                         (9)

    结论:  最小二乘解 slam数学基础——最小二乘 是最小奇异值对应的 slam数学基础——最小二乘 的列向量 slam数学基础——最小二乘

    此时,slam数学基础——最小二乘

                          slam数学基础——最小二乘                                                                         (10)

     若取 slam数学基础——最小二乘 的其他列向量, slam数学基础——最小二乘

三、非线性最小二乘

1. 定义

    slam数学基础——最小二乘                                                                                          (11)

2. 求解流程

    局部泰勒展开,求迭代  slam数学基础——最小二乘, 然后有 :  slam数学基础——最小二乘                                           (12)

3. Gauss-Newton 法

slam数学基础——最小二乘

                                  slam数学基础——最小二乘

四、非线性和线性最小二乘的讨论

1. 线性最小二乘对应全局最优解,非线性最小二乘无法保证全局最优,最终结果受初始值影响较大,容易陷入局部最优

slam数学基础——最小二乘

2. 线性最小二乘:    若坐标用齐次坐标表示, 对应齐次最小二乘;若坐标用非齐次坐标表示,对应非齐次最小二乘

3. 线性最小二乘不用迭代,可通过SVD求解效率高。非线性最小二乘需要迭代求解,求解时间不可控

4. 一般线性最小二乘对应着 DLT 算法,作为初始值。非线性最小二乘通过最小化某些 error_term,对线性求解的结果进一步优化. 例如求解单应性矩阵

5. 举例: 二维平面直线拟合

    a. 非齐次线性最小二乘:   y=kx+b, error = y_mea - y_predict

    b. 非齐次最小二乘: ax+by+c=0

    c. 非线性最小二乘: error = y_mea  到直线的距离

五、M-Esimation

1. 引入 Loss function,抑制 outliers

 

六、Reference

1. MIT:Gilbert Strang Linear Algebra (公开课)
2. Robotics-perception - University of Pennsylvania- Jianbo Shi  (公开课)

声明:本博客内容原创,谢绝转载,若有错误的地方,还请及时指出。