最小二乘法求解线性方程组与伪逆
对于线性方程组
A
x
=
b
Ax=b
Ax=b的求解。
如果A是可逆的,我们可以通过方程式左右两边乘
A
−
1
A^{-1}
A−1求解:
x
=
A
−
1
b
x=A^{-1}b
x=A−1b
但是如果
A
A
A是不可逆的方阵或非方阵呢?
这时可以使用最小二乘法求解:
首先我们来看看一些矩阵求导的相关性质:
接下来我们用最小二乘法来求解方程组的解 x ∗ x^* x∗:
x
∗
=
a
r
g
max
x
∣
∣
A
x
−
b
∣
∣
2
x^*=arg\max_x||Ax-b||^2
x∗=argxmax∣∣Ax−b∣∣2
记
f
(
x
)
=
∣
∣
A
x
−
b
∣
∣
2
f(x)=||Ax-b||^2
f(x)=∣∣Ax−b∣∣2
求 f ( x ) f(x) f(x)的极值,求其梯度: ∇ f ( x ) = 0 \nabla f(x)=0 ∇f(x)=0
∇ f ( x ) = ∂ ∂ x ∣ ∣ A x − b ∣ ∣ 2 \nabla f(x)=\frac{\partial}{\partial x}||Ax-b||^2 ∇f(x)=∂x∂∣∣Ax−b∣∣2 = ∂ ∂ x ( A x − b ) T ( A x − b ) =\frac{\partial}{\partial x}(Ax-b)^T(Ax-b) =∂x∂(Ax−b)T(Ax−b) = ∂ ∂ x ( x T A T − b T ) ( A x − b ) =\frac{\partial}{\partial x}(x^TA^T-b^T)(Ax-b) =∂x∂(xTAT−bT)(Ax−b) = ∂ ∂ x ( x T A T A x − x T A T b − b T A x + b T b ) =\frac{\partial}{\partial x}(x^TA^TAx-x^TA^Tb-b^TAx+b^Tb) =∂x∂(xTATAx−xTATb−bTAx+bTb) = 2 A T A x − 2 A T b = 0 =2A^TAx-2A^Tb=0 =2ATAx−2ATb=0
则解得: x ∗ = ( A T A ) - 1 A T b x^*=(A^TA)^{-1}A^Tb x∗=(ATA)-1ATb
( A T A ) - 1 A T (A^TA)^{-1}A^T (ATA)-1AT为 A A A的伪逆。
参考:矩阵论简明教程, 徐仲 张凯院 陆全 冷国伟, 科学出版社