投影矩阵、最小二乘法和SVD分解

投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解。这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式。

问题的提出

已知有一个这样的方程组:

\[Ax=b \]

其中,\(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^T}{A^T}(b - A{x_0}) = 0 \]

由于x的任意性,所以

\[{A^T}(b - A{x_0}) = 0 \]

整理得

\[{x_0} = {({A^T}A)^{ - 1}}{A^T}b = {A^\dagger }b \]

其中\({A^\dagger } = {({A^T}A)^{ - 1}}{A^T}\)称为A的伪逆。

数值解法

原问题等价于

\[\min ||Ax - b||_2^2 \]

记$ f(x)=||Ax-b||_22=(Ax-b)T(Ax-b)=xTAT A x-2 b^T A x + b^Tb$,对x求导得,

\[\nabla f = 2({A^T}Ax - {A^T}b) = 0 \]

解得,

\[{x} = {({A^T}A)^{ - 1}}{A^T}b = {A^\dagger }b \]

投影矩阵

对最小二乘解两边同时乘以A,就是对应的投影向量,即

\[{Ax} = {A({A^T}A)^{ - 1}}{A^T}b=Pb \]

那么\(P={A({A^T}A)^{ - 1}}{A^T}\)就是将\(b\)投影到\(ran(A)\)的投影矩阵。因为

\[P^T={A({A^T}A)^{ - 1}}{A^T}=P,P^2=P \]

满足投影矩阵的定义。
所以\(ran(A)\)对应的投影矩阵为

\[P={A({A^T}A)^{ - 1}}{A^T} \]

SVD分解下的投影矩阵

秩为r的矩阵A的SVD分解为\(A = U\Sigma {V^T} \in R^{m \times n}\)。其中,

\[U = [{U_r}|{\tilde U_r}],V = [{V_r}|{\tilde V_r}] \]

那么,带入公式可以得到

\(V_r V_r^T\)\(ran(A^T)={null(A)}^\bot\)空间的投影矩阵
\(U_r U_r^T\)\(ran(A)\)空间的投影矩阵

对于\(\forall x \in R^n\),有

\[\left\langle {V_r V_r^T x,\tilde V_r {\tilde V_r}^T x} \right\rangle =x^T V_r V_r^T \tilde V_r {\tilde V_r}^T x=0 \]

所以,\(\tilde V_r {\tilde V_r}^T\)\(null(A)\)空间的投影矩阵
同理,\(\tilde U_r {\tilde U_r}^T\)\(null(A^T)={ran(A)}^\bot\)空间的投影矩阵

posted @ 2015-08-06 09:41  connorzx  阅读(3909)  评论(1编辑  收藏  举报