SVD的应用举例与矩阵求伪逆

一、伪逆(pseudo-inverse)


由于奇异矩阵或非方阵的矩阵不存在逆矩阵。但有时我们又希望给这样的矩阵,构造出一个具有类似逆矩阵性质的结果,于是人们便提出了“伪逆”的构想。这个构想的出发点是基于下面这张图,一个变换T(或者一个矩阵A)的值域V可以分解成相互垂直的两个部分,即V = N(A) N(A)。一个变换T是可逆的 if and only if T是one-one and onto。而定理2.4告诉我们T是one-one if and only if N(A)={0}。也就是说,如果T是不可逆的,也就代表当我们引入N(A)后会破坏从V到W的一一对应关系。所以很自然的,我们会想到,如果把N(A)从V中剥离,那么剩下的 N(A)到Range(A)就能构成一一对应关系,也就存在逆变换(或逆矩阵)。


我们建立了一个可逆的变换T: N(T)Range(T),令L=TN(T),这样L就有逆变换了。基于这样的考量,我们就有了下面这个pseudoinverse的定义。



二、利用SVD计算伪逆


我们要求T的伪逆,就要设法求得N(A)、N(A)Range(A)和Range(A)。而借由SVD,这些子空间都非常容易得到(这里注意参考http://blog.csdn.net/baimafujinji/article/details/6474273):

(1)Span{uk+1, ..., un}=N(A)

(2)Span{u1, ..., uk}=N(A)

(3)Range(A) = Span{v1, ..., vk}

(4)Range(A)=Span{vk+1, ..., vm}

注意在SVD的算子版本中,我们给出的分解形式是


再根据上面伪逆的定义可得(k=r):


而上面这个式子又是一个SVD,(A的SVD是V*AU=)所以有



三、一个具体的例子


我们来具体算一个矩阵A的伪逆:


易知,rank(A*A)=2。下面来求矩阵A*A的特征值,于是有

接下来求对应的特征向量,因为


所以可知当λ1=5时,对应的特征向量(注意结果要正交归一化):

同理还有λ2=1时,对应的特征向量


如此便得到了SVD中需要的U矩阵


为了求出矩阵V,先求W:


于是可知


所以根据公式A的伪逆就是


最终结果的计算可能比较复杂,我们用MATLAB来计算。

>> U = [1/sqrt(2), 1/sqrt(2);1/sqrt(2), -1/sqrt(2)]

U =

    0.7071    0.7071
    0.7071   -0.7071

>> S = [1/sqrt(5), 0; 0, 1]

S =

    0.4472         0
         0    1.0000

>> Vs=[sqrt(2)/sqrt(5), 1/sqrt(10), 1/sqrt(10), sqrt(2)/sqrt(5);
0, -1/sqrt(2), 1/sqrt(2),0]

Vs =

    0.6325    0.3162    0.3162    0.6325
         0   -0.7071    0.7071         0

>> A_pinv = U*S*Vs

A_pinv =

    0.2000   -0.4000    0.6000    0.2000
    0.2000    0.6000   -0.4000    0.2000

然后我们再用MATLAB里面提供的线程的求矩阵伪逆的函数pinv()来检验一下上面得出的结果。

>> A = [1,1; 0,1;, 1,0; 1,1]

A =

     1     1
     0     1
     1     0
     1     1

>> B = pinv(A)

B =

    0.2000   -0.4000    0.6000    0.2000
    0.2000    0.6000   -0.4000    0.2000

可见我们的计算是正确的。

四、伪逆与最小二乘法



上述定理说明:

1)基于pseudoinverse,最小二乘问题与寻找最小解的问题具有统一的形式。

2)当方程Ax=b无解,即A不可逆时,最佳近似解就是x=Ab。


(本文完)


参考文献:

【1】 S.H. Friedberg, A.J. Insel, L.E Spence, 4th edition, Linear Algebra, Prentice-Hall, 2003

【2】 Richard Hartley, Andrew Zisserman, Multiple View Geometry in Computer Vision
2nd Edition, Cambridge University Press, 2003

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白马负金羁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值