24小时热门版块排行榜    

查看: 6117  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yuxi1989

银虫 (小有名气)

[求助] 为什么对于对称方阵,其特征值和奇异值是一样的? 已有2人参与

RT。主要是看一个matlab代码,做PCA。它是把协方差矩阵作SVD分解,然后把U作为特征向量,S作为特征值了。正常的PCA应该是协方差矩阵求特征值和特征向量。网上查了一下,有说法“对于对称方阵,其特征值分解和奇异值分解是一样的?”。想了下,作者可能是根据这个来写的,因为向量的协方差矩阵是对称的,而且是方的。可能matlab的SVD比eig快,作者节约时间!但是我还是不理解“为什么对于对称方阵,其特征值和奇异值是一样的?”特征值的话,总感觉是平方的关系,特征向量组成的矩阵和U的关系?这个我就更不明朗了。所以前来求助。谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuxi1989

银虫 (小有名气)

引用回帖:
4楼: Originally posted by hy东舟 at 2014-07-16 10:31:24
对称矩阵特征值与奇异值差正负号,特征向量和奇异向量张成空间一样。从谱分解来看,对称矩阵可以酉对角化,A=Q*B*Q^t,B对角线特征值,只要将负号加到Q的列上,使B对角线大于0,得到的就是奇异值分解

非常感谢!(抱歉,不知道怎么你这个帖子不能给金币了)。但是我还是有一个问题,就是如我所说。通过SVD(奇异值分解),对实对称方阵A=U*S*V(S为奇异值)。其U是不是就是特征向量呢?因为PCA关键是要用协方差矩阵的特征向量构建变换矩阵。谢谢!
5楼2014-07-17 19:26:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuxi1989

银虫 (小有名气)

引用回帖:
6楼: Originally posted by hy东舟 at 2014-07-18 10:59:46
就我所知,理论上U不一定是特征向量的,但matlab中svd算法当矩阵对称且中小规模时,本质上是就是利用QR算法算谱分解,所以计算的是特征向量,你可以实验下。另外svd一般不会比eigs快,毕竟svd要计算两组正交基底U, ...

谢谢!你的线性代数基础真好,得多向您学习。我再去看看那个代码,想想那个作者为什么要这么写!
7楼2014-07-19 17:42:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yuxi1989 的主题更新
信息提示
请填处理意见