SVD奇异值分解

Posted cold-city

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVD奇异值分解相关的知识,希望对你有一定的参考价值。

SVD奇异值分解

1 正交矩阵

正交矩阵对应的行(列)向量都是相互正交的单位向量,且满足逆矩阵等于转置矩阵。

正交矩阵对应的变换为正交变换,正交变换映射表现为旋转和反射:

技术分享图片

正交变换不改变向量的尺寸和夹角,如图,对应在正交坐标系基向量为[e1,e2]下的A为[a,b],对应进行正交变换后,只是对A用另一组正交坐标基[e1‘,e2‘]表示,对应变换后的A为[a‘,b‘],对向量A没有拉伸。这种变换为旋转变换。

正交变换对应有一组正交坐标基映射为另一组正交坐标基。

对应求得正交变换矩阵U:

技术分享图片

技术分享图片

由图可知:

技术分享图片

所以U为:

技术分享图片

2 特征值分解

设m*m矩阵A为对称矩阵,则A必能相似对角化,且不同特征值对应的特征向量相互正交:

技术分享图片

技术分享图片

可以得到A的特征值分解:

技术分享图片

现在假设有一个x向量,用A对x进行变换:

技术分享图片

也就是先对用UT对x进行正交变换,假设x在新的坐标系(坐标基为A的特征项向量)下为:

技术分享图片

转变为:

技术分享图片

接着对在新坐标系下的x进行拉伸和压缩,如果对应位置的特征向量为0,则发生维度退化,之后再用U进行正交变换,U是UT的逆变换,使又回到原来的坐标系下:

技术分享图片

如果A是2*2矩阵,其特征向量对应矩形,其边,经过UT变换后,坐标基为矩形边所在的方向,在经过拉伸后,进行U变换,回到原来坐标系,这样经过变换后还是矩形。

3 奇异值分解

奇异值分解就是对任意m*n矩阵,找到这样的一个正交坐标基,使其变换后还是正交坐标基。

假设m*n矩阵A,在n维空间中找到一组正交坐标基,使其经过A变换后还是正交坐标基。

假设正交坐标基为,vi是n*1向量:

技术分享图片

经过A变换后:

技术分享图片

同时保证变换后还是正交坐标基:

技术分享图片

使vj使ATA的第j个特征向量的话:

技术分享图片

又因为:

技术分享图片

所以vj是ATA的第j个特征向量保证了变换后还是正交坐标基。

再将映射后的正交基单位化:

技术分享图片

技术分享图片

取单位向量:

技术分享图片

由此可得:

技术分享图片

再将{u1,u2,...,uk}扩展为{u1,u2,...,um},使得其为m维空间的一组单位正交基。

再将{v1,v2,...,vk}扩展为{v1,v2,...,vn},其中{vk+1,...vn}为AX=0的基础解系,对应的奇异值σ为0。

可得:

技术分享图片

最后得A的奇异值分解:

技术分享图片

4 满秩分解

定义:对于m×n的矩阵A,假设其秩rr,若存在秩同样为r两个矩阵:Fm×r(列满秩)和Gr×n(行满秩),使得A=FG,则称其为矩阵A的满秩分解。

任何一个非零矩阵都有满秩分解。

利用SVD进行满秩分解:

技术分享图片

利用分块矩阵乘法得:

技术分享图片

第二项为0:

技术分享图片

令:

技术分享图片

则A=XY即是A的满秩分解。

以上是关于SVD奇异值分解的主要内容,如果未能解决你的问题,请参考以下文章

奇异值分解SVD

什么是奇异值?奇异值分解是什么?SVD分解详解及实战

奇异值分解(SVD)

奇异值分解的意义

SVD(奇异值矩阵分解) 转载

矩阵奇异值分解SVD