最小二乘法求解线性方程组与伪逆

对于线性方程组 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是不可逆的方阵或非方阵呢?
这时可以使用最小二乘法求解:

首先我们来看看一些矩阵求导的相关性质:

最小二乘法求解线性方程组与伪逆_理工

最小二乘法求解线性方程组与伪逆_理工_02

接下来我们用最小二乘法来求解方程组的解 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的伪逆。

参考:矩阵论简明教程, 徐仲 张凯院 陆全 冷国伟, 科学出版社

更多文章请关注《万象专栏》