分享

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

 磨菜刀的老花匠 2016-09-17

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

问题的提出

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

Ax=b

其中,ARm×n,x,bRn

  • m=n时,且rank(A)=n时,这是一个适定方程组,有唯一解x=A1b
  • m<n时,或者rank(A)<n时,这是一个欠定方程组,有无穷多个解。对于这种情况,我们使用ran(A)中与b距离最近的向量对应的x作为最小二乘解。而相应的ran(A)中的这个向量就是b在空间ran(A)中的投影。

最小二乘法

几何解法

如上图所示,b不在ran(A)中,Ax0ran(A)空间中对b在欧几里得范数下的最好估计。此时

xRn,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ΣVTRm×n。其中,

U=[Ur|U~r],V=[Vr|V~r]

那么,带入公式可以得到

VrVrTran(AT)=null(A)空间的投影矩阵
UrUrTran(A)空间的投影矩阵

对于xRn,有

VrVrTx,V~rV~rTx=xTVrVrTV~rV~rTx=0

所以,V~rV~rTnull(A)空间的投影矩阵
同理,U~rU~rTnull(AT)=ran(A)空间的投影矩阵

欢迎阅读我的文章,如发现问题,请务必留言指正。 本博客内容除注明转载的内容外,均为作者原创,转载请注明原地址! 博客地址:http://www.cnblogs.com/connorzx/ 希望在未来的日子里我和你共同进步。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多