投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解。这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式。
问题的提出
已知有一个这样的方程组:
Ax=b
其中,
A∈Rm×n,x,b∈Rn
- 当m=n时,且rank(A)=n时,这是一个适定方程组,有唯一解x=A1b
- 当m<n时,或者rank(A)<n时,这是一个欠定方程组,有无穷多个解。对于这种情况,我们使用ran(A)中与b距离最近的向量对应的x作为最小二乘解。而相应的ran(A)中的这个向量就是b在空间ran(A)中的投影。
最小二乘法
几何解法
如上图所示,b不在ran(A)中,Ax0是ran(A)空间中对b在欧几里得范数下的最好估计。此时
x∈Rn,Ax,bAx0=0
等价于
xTAT(bAx0)=0
由于x的任意性,所以
AT(bAx0)=0
整理得
x0=(ATA)1ATb=Ab
其中
A=(ATA)1AT称为A的伪逆。
数值解法
原问题等价于
min||Axb||22
记f(x)=||Axb||22=(Axb)T(Axb)=xTATAx2bTAx bTb,对x求导得,
f=2(ATAxATb)=0
解得,
x=(ATA)1ATb=Ab
投影矩阵
对最小二乘解两边同时乘以A,就是对应的投影向量,即
Ax=A(ATA)1ATb=Pb
那么P=A(ATA)1AT就是将b投影到ran(A)的投影矩阵。因为
PT=A(ATA)1AT=P,P2=P
满足投影矩阵的定义。
所以
ran(A)对应的投影矩阵为
P=A(ATA)1AT
SVD分解下的投影矩阵
秩为r的矩阵A的SVD分解为A=UΣVT∈Rm×n。其中,
U=[Ur|U~r],V=[Vr|V~r]
那么,带入公式可以得到
VrVTr是ran(AT)=null(A)⊥空间的投影矩阵
UrUTr是ran(A)空间的投影矩阵
对于x∈Rn,有
VrVTrx,V~rV~rTx=xTVrVTrV~rV~rTx=0
所以,V~rV~rT是null(A)空间的投影矩阵
同理,U~rU~rT是null(AT)=ran(A)⊥空间的投影矩阵
欢迎阅读我的文章,如发现问题,请务必留言指正。
本博客内容除注明转载的内容外,均为作者原创,转载请注明原地址!
博客地址:http://www.cnblogs.com/connorzx/
希望在未来的日子里我和你共同进步。