超定线性方程组最小二乘解推导

文章目录

    • 超定线性方程组
      • 定义
      • 超定线性方程组的解
      • 最小二乘法公式推导
        • 最小二乘解

超定线性方程组

定义

  超定方程组是指方程个数大于未知量个数的方程组。对于方程组 R a = y Ra = y Ra=y R R R m × n m \times n m×n的矩阵,如果 R R R列满秩,且 m > n m>n m>n,则方程组没有精确解,此时称方程组为超定方程组。即任意 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,,xn都不可能使 ∑ i = 1 m ( a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n − b i ) 2 = 0 \sum_{i=1}^m(a_{i1}x_1 + a_{i2}x_2 + \dots + a_{in}x_n - b_i)^2 = 0 i=1m(ai1x1+ai2x2++ainxnbi)2=0

超定线性方程组的解

  超定方程一般是不存在解的矛盾方程。

  例如,如果给定的三点不在一条直线上, 我们将无法得到这样一条直线,使得这条直线同时经过给定这三个点。 也就是说给定的条件(限制)过于严格, 导致解不存在。在实验数据处理和曲线拟合问题中,求解超定方程组非常普遍。比较常用的方法是最小二乘法,形象的说,就是在无法完全满足给定的这些条件的情况下,求一个最接近的解。

  曲线拟合是最小二乘法要解决的问题,实际上就是求以上超定方程组的最小二乘解的问题。

  如果有向量 ( x 1 0 , x 2 0 , … , x n 0 ) T (x^0_1, x_2^0, \dots, x_n^0)^T (x10,x20,,xn0)T使得 ∑ i = 1 m ( a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n − b i ) 2 \sum^m_{i=1} \left( a_{i1}x_1 + a_{i2}x_2 + \dots + a_{in}x_n - b_i \right)^2 i=1m(ai1x1+ai2x2++ainxnbi)2达到最小,称 ( x 1 0 , x 2 0 , … , x n 0 ) T (x^0_1, x_2^0, \dots, x_n^0)^T (x10,x20,,xn0)T为超定线性方程组的最小二乘解。

最小二乘法公式推导

∑ i = 1 m ( a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n − b i ) 2 (1) \sum^m_{i=1} \left( a_{i1}x_1 + a_{i2}x_2 + \dots + a_{in}x_n - b_i \right)^2 \tag{1} i=1m(ai1x1+ai2x2++ainxnbi)2(1)
设系数矩阵 A A A
A = [ α 1 , α 2 , … , α n ] , α j = [ a 1 j , a 2 j , … , a m j ] T , j = 1 , 2 , … , n A = [\alpha_1, \alpha_2, \dots, \alpha_n],\alpha_j = [a_{1j}, a_{2j}, \dots, a_{mj}]^T,j=1,2,\dots,n A=[α1,α2,,αn]αj=[a1j,a2j,,amj]Tj=1,2,,n
Y = A x Y=Ax Y=Ax,即
Y = a 1 x 1 + a 2 x 2 + ⋯ + a n x n (2) Y = a_1 x_1 + a_2 x_2 + \dots + a_n x_n \tag{2} Y=a1x1+a2x2++anxn(2)——以 Y Y Y为常向量的线性方程组。
利用距离的概念,(1)式最小就是 ∣ ∣ Y − b ∣ ∣ 2 ||Y-b||^2 Yb2最小
∣ ∣ Y − b ∣ ∣ 2 = ∑ i = 1 m ( a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n − b i ) 2 (1) ||Y-b||^2 = \sum^m_{i=1} \left( a_{i1}x_1 + a_{i2}x_2 + \dots + a_{in}x_n - b_i \right)^2 \tag{1} Yb2=i=1m(ai1x1+ai2x2++ainxnbi)2(1)
x x x使(1)式最小,等价于找子空间 L ( α 1 , α 2 , … , α n ) L(\alpha_1, \alpha_2, \dots, \alpha_n) L(α1,α2,,αn)中向量 Y Y Y b b b距离最短。设 C = b − Y = b − A x C=b-Y=b-Ax C=bY=bAx,(平面中垂线距离最短)则必有 C ⊥ L ( α 1 , α 2 , … , α n ) C \bot L(\alpha_1, \alpha_2, \dots, \alpha_n) CL(α1,α2,,αn),这等价于 ( C , α 1 ) = ( C , α 2 ) = ⋯ = ( C , α n ) = 0 (3) (C,\alpha_1) = (C,\alpha_2) = \dots = (C, \alpha_n) = 0 \tag{3} (C,α1)=(C,α2)==(C,αn)=0(3)
α 1 T C = 0 , α 2 T C = 0 , … , α n T C = 0 , \alpha_1^TC=0,\alpha_2^TC=0, \dots, \alpha_n^TC=0, α1TC=0α2TC=0,,αnTC=0从而 ( α 1 T , α 2 T , … , α n T ) C = 0 , (3) (\alpha_1^T, \alpha_2^T, \dots, \alpha_n^T)C = 0, \tag{3} (α1T,α2T,,αnT)C=0,(3)(3)式等价于
A T ( b − A x ) = 0 ⇔ A T A x = A T b A T A x = A T b (4) A^T(b - Ax) = 0 \Leftrightarrow A^T A x = A^Tb \\ A^T A x = A^T b \tag{4} AT(bAx)=0ATAx=ATbATAx=ATb(4)
称(4)式为法方程组,其解为超定线性方程组 A x = b Ax = b Ax=b的最小二乘解。

最小二乘解

x = ( A T A ) − 1 A T b x = (A^T A)^{-1} A^T b x=(ATA)1ATb

你可能感兴趣的:(SLAM)