投影矩阵、最小二乘法和SVD分解
投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解。这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式。
问题的提出
已知有一个这样的方程组:
其中,\(A \in R^{m \times n},x,b \in R^n\)
- 当\(m=n\)时,且\(rank(A)=n\)时,这是一个适定方程组,有唯一解\(x=A^{-1}b\)
- 当\(m<n\)时,或者\(rank(A)<n\)时,这是一个欠定方程组,有无穷多个解。对于这种情况,我们使用\(ran(A)\)中与\(b\)距离最近的向量对应的\(x\)作为最小二乘解。而相应的\(ran(A)\)中的这个向量就是\(b\)在空间\(ran(A)\)中的投影。
最小二乘法
几何解法
如上图所示,\(b\)不在\(ran(A)\)中,\(Ax_0\)是\(ran(A)\)空间中对\(b\)在欧几里得范数下的最好估计。此时$$\forall x \in {R^n},\left\langle {Ax,b - A{x_0}} \right\rangle = 0$$
等价于
由于x的任意性,所以
整理得
其中\({A^\dagger } = {({A^T}A)^{ - 1}}{A^T}\)称为A的伪逆。
数值解法
原问题等价于
记$ f(x)=||Ax-b||_22=(Ax-b)T(Ax-b)=xTAT A x-2 b^T A x + b^Tb$,对x求导得,
解得,
投影矩阵
对最小二乘解两边同时乘以A,就是对应的投影向量,即
那么\(P={A({A^T}A)^{ - 1}}{A^T}\)就是将\(b\)投影到\(ran(A)\)的投影矩阵。因为
满足投影矩阵的定义。
所以\(ran(A)\)对应的投影矩阵为
SVD分解下的投影矩阵
秩为r的矩阵A的SVD分解为\(A = U\Sigma {V^T} \in R^{m \times n}\)。其中,
那么,带入公式可以得到
\(V_r V_r^T\)是\(ran(A^T)={null(A)}^\bot\)空间的投影矩阵
\(U_r U_r^T\)是\(ran(A)\)空间的投影矩阵
对于\(\forall x \in R^n\),有
所以,\(\tilde V_r {\tilde V_r}^T\)是\(null(A)\)空间的投影矩阵
同理,\(\tilde U_r {\tilde U_r}^T\)是\(null(A^T)={ran(A)}^\bot\)空间的投影矩阵