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

SVD总结

时间:2015-09-25 21:48:20      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:

1.概述

  我们先从实数域R开始说起,再延伸到复数域C上去,先列出一个表格,把实数域以及复数域中常见的矩阵及其性质概括如下:

表1 常见矩阵及其性质

技术分享

  我们知道实对称矩阵正交相似于对角阵,从而将一个方阵对角化,那么一个技术分享的矩阵能否对角化为对角阵呢,答案是肯定的,这也是奇异值分解(singular value decomposition,SVD)的意义所在。

  设A是一个技术分享矩阵,则存在m阶正交矩阵U和n阶正交矩阵V,满足

    技术分享      

  其中技术分享.习惯上,设技术分享,称技术分享为奇异值(singular value),称U和V的前r列向量为奇异向量(singular vector),这个分解为奇异值分解

  那现在就有疑问了,奇异值怎么求呢,m阶正交矩阵U和n阶正交矩阵V又怎么求呢,为了回答上述问题,我们将SVD写成向量形式,从而对SVD有初步的了解。令技术分享技术分享,因为V是正交矩阵,所以有

    技术分享      

  写成向量的形式有

    技术分享      

    技术分享      

对1.1式转置得,

   技术分享       

同理可得,

    技术分享    

对1.4式两端左乘AT得,

    技术分享   

将1.6式代入1.7式中,

    技术分享      

同理可得,

    技术分享      

  故vi是实对称矩阵ATA属于技术分享的特征向量,ui是实对称矩阵AAT属于技术分享的特征向量。也就是说,奇异值就是实对称矩阵AAT(或者ATA)非零特征值的模长(即非零特征值开根号),而正交矩阵U(V)就是AAT(ATA)特征值所对应的特征向量。当然并不是随意地取m个特征向量组成U,随意地取n个特征向量组成V就可以构成A奇异值分解的正交矩阵的,U和V之间是配对的,有固定的关系,用表达式表示即为

    技术分享      

这个式子的推导在后面会介绍,现在继续探讨实对称矩阵AAT和 ATA特征值技术分享的性质,有如下两个性质:

1)AAT和 ATA的特征值为非负数;

证明:

技术分享,则技术分享,即

技术分享

技术分享.同理可得AAT的特征值也全为非负数。

 2)AAT和ATA的非零特征值集合相同;

证明:

假设A的秩为r,因为r(AAT) = r(AT),r(ATA) = r(A),且r(A) = r(AT),故

r(AAT) = r(ATA) = r(A) = r

因为AAT是实对称矩阵,所以技术分享,其中技术分享是AAT的特征值,所以有#{AAT非零特征值} = r,同理有,#{ATA非零特征值} = r.

技术分享是ATA的非零特征值,即技术分享,使得技术分享,则有

技术分享

所以技术分享也是AAT的非零特征值,反之亦然。故AAT和ATA具有相同的非零特征值。

 

  因此,AAT和 ATA的特征值为非负数,且AAT和 ATA的非零特征值集合相同,即求A的奇异值时,只需求出AAT和ATA其中一个矩阵的特征值即可。

  接下来,推导正交矩阵U和正交矩阵V之间的配对关系,设为技术分享是n阶对称方阵ATA的单位正交特征向量,

    技术分享      

注意到技术分享,故技术分享,即技术分享.令技术分享,则

    技术分享    

且有

    技术分享      

技术分享是AAT的单位正交特征向量。也就是说,当技术分享是ATA的单位正交特征向量时,技术分享是AAT的单位正交特征向量,且技术分享.

  至此,矩阵A的奇异值分解就可以求出来了,首先求出AAT(ATA)的特征值,其中,非零特征值就是矩阵A的奇异值;接着求出AAT(ATA)特征值所对应的特征向量(包括零特征值对应的特征向量)作为正交矩阵U(V);最后根据配对关系求出另一个正交矩阵V(U)非零特征值所对应的特征向量,而正交矩阵V(U)的零特征值对应的特征向量则可以代入特征方程求出(或者其他方法),从而,得到任意矩阵A的奇异值分解。

  这是实数域R的情况,复数域C中的奇异值分解大同小异。

  设技术分享技术分享是A的r个奇异值,则存在m阶酉矩阵U和n阶酉矩阵V,满足

    技术分享      

则上面的分解称为奇异值分解(复数域中)。

    求任意一个复矩阵A的奇异值分解跟实矩阵A的奇异值分解步骤是一样的,就是非零特征值对应的次酉矩阵U1、V1的配对关系变为

    技术分享      

其中,技术分享,这是在求一个复矩阵A的奇异值分解时应该注意的。

2.例子

求矩阵

技术分享

的奇异值分解表达式。

解:

步骤一:求出AAH和AHA的非零特征值(A的奇异值)

技术分享

AAH的特征多项式为

技术分享

AAH的特征值为技术分享技术分享,0

所以A的奇异值为技术分享技术分享.

步骤二:求出AAH和AHA非零特征值对应的次酉矩阵U1和V1

AAH特征值为4的单位特征向量为

技术分享

AAH特征值为1的单位特征向量为

技术分享

所以AAH非零特征值对应的次酉矩阵U1

技术分享

因此,AHA非零特征值对应的次酉矩阵V1

技术分享

所以

技术分享

3.应用

  奇异值分解(SVD)的应用有特征降维(feature reduction)、图像压缩以及潜在语义分析(latent semantic indexing,LSI)等。就图像压缩来说,例如一张技术分享的图像,需要技术分享的矩阵来存储它。而利用奇异值分解,则只需存储矩阵的奇异值技术分享,奇异向量技术分享技术分享,数目为技术分享,而不是技术分享。通常技术分享,所以技术分享,即存储该图像所需的存储量减小了。比值技术分享称为图像的压缩比,其倒数称为数据压缩率。如果矩阵的奇异值从一个数开始值远小于前面的奇异值,则可以删去,这样在保证图像不失真的前提下,进一步减小了存储量。

SVD总结

标签:

原文地址:http://www.cnblogs.com/xugenpeng/p/4839336.html

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