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

奇异值分解(SVD)

时间:2015-05-26 01:42:16      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

特征值分解是利用矩阵的对角化来完成的:A=QQ-1,但这种分解方法需要满足一个前提条件,即A是方阵。

 

奇异值分解(SVD)可以对m x n的矩阵进行分解。我们希望找到一个n x n正交方阵V、一个m x m正交方阵U和一个m x n的矩阵∑,使得A满足式子AV=U∑。因为V是正交矩阵,所以V是可逆,且V-1=VT,所以AV=U∑又可以写成A=U∑VT。下面分两步来找到V和U。

 

1)注意到ATA是一个对称方阵,如果存在一个n x n正交方阵V、一个m x m正交方阵U和一个m x n的矩阵∑,使得A=U∑VT成立,则有ATA=V∑TUTU∑VT=V(∑T∑)VT。观察式子ATA=V(∑T∑)VT可知,通过对对称方阵ATA进行特征值分解(对角化),可以得到等式右侧的V(∑T∑)VT,其中V的列向量组为对称方阵ATA的特征向量组,∑T∑为对角矩阵,其对角线上的元素为ATA的特征值。如下图所示,根据∑T∑的性质,可以推出∑:


技术分享

图中的σi称为矩阵A的奇异值。

 

2)经过1)之后,我们已经找到了一种方法来求取V和∑,但在我们希望A满足的式子A=U∑VT中,还有U未知。为了求U,用AT右乘式子A=U∑VT,得到AAT=U∑VT V∑TUT。因为V是正交方阵,所以VTV=I,AAT=U∑∑TUT。注意到AAT同样是对称方阵,类似于1),我们可以通过对对称方阵AAT进行特征值分解(对角化),得到等式右侧的U∑∑TUT,其中U的列向量组为对称方阵AAT的特征向量组,∑∑T为对角矩阵,其对角线上的元素为AAT的特征值。注意到这里的∑和1)中求得的∑是同一个矩阵,不必惊讶于这一结论,因为根据定理,我们知道AAT与AAT的具有相同的特征值。

 

至此,我们完成了对一个m x n矩阵A的奇异值分解过程。

奇异值分解(SVD)

标签:

原文地址:http://my.oschina.net/JiamingMai/blog/419897

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