码迷,mamicode.com
首页 > 其他好文 > 详细

SVD奇异值分解

时间:2018-11-24 11:44:21      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:strong   有一个   str   压缩   假设   没有   ext   com   乘法   

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奇异值分解

标签:strong   有一个   str   压缩   假设   没有   ext   com   乘法   

原文地址:https://www.cnblogs.com/cold-city/p/10010477.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!