在matlab中,关于PCA降维运算,求得特征向量矩阵之后,又要如何才能得到我需要的投影矩阵呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在matlab中,关于PCA降维运算,求得特征向量矩阵之后,又要如何才能得到我需要的投影矩阵呢?相关的知识,希望对你有一定的参考价值。

比如:现在有100*30维的数据矩阵,求得特征向量矩阵为30*30维,现在需要一个30*10维的特征向量矩阵。(大一连线代课还没上,可能这个比如描述得就有错,还望大神不吝赐教!卡住学不走的感觉好痛苦)

参考技术A 把你的特征根从大到小排序。取对应的前10个特征向量。追问

嗯嗯嗯~_~,先谢谢了!可是现在的问题关键在于取了10个特征向量之后怎么得到30*10维的投影矩阵呢?得到这个投影矩阵的计算步骤是什么?(抱歉没有导师,有时候问的东西可能比较2)

追答

原来的不是30x30的嘛,排好序后写成30x10的就好了。后面那20个是没用的。
这样两个矩阵相乘
100x30和30x10,乘完就正好是100x10的了

追问

谢了!其实还是不太明白“排好序后写成30x10的”,因为是在协方差对角阵里面取的10个较大的数值,取出来的新对角阵就是10x10的了。还有如何判别哪些是它们(新对角阵里的这10个数据)对应的特征向量呢?还望再解答下!(不常玩知道,分不多,就只多给了5分。)

本回答被提问者采纳
参考技术B 用你原来的100*30维的数据矩阵乘以30*10维德特征向量矩阵追问

是的是的,这个我知道,可是30*10维的特征向量矩阵怎么得到呢?我只知道求出一个30*30的特征向量矩阵,之后就不知道怎么做了。。

跟我学算法-PCA(降维)基本原理推导

Pca首先

1.对数据进行去均值

2.构造一个基本的协方差矩阵1/m(X)*X^T

3对协方差矩阵进行变化,得到对角化矩阵,即对角化上有数值,其他位置上的数为0(协方差为0),即求特征值和特征向量的过程

4.求得特征向量的单位化矩阵,单位化特征向量矩阵*原始数据(去均值后的)即降维操作,单位化特征向量的维度决定了降维的维度

以下是实际推导过程

     技术分享图片

技术分享图片

 

实例求解过程

技术分享图片

 



以上是关于在matlab中,关于PCA降维运算,求得特征向量矩阵之后,又要如何才能得到我需要的投影矩阵呢?的主要内容,如果未能解决你的问题,请参考以下文章

利用PCA进行数据降维

图像融合基于matlab高分辨率全色图PCA图像融合(含评价指标)含Matlab源码 2407期

matlab中使用快速pca提取特征

无监督学习——降维

在 OpenCV 中使用 PCA 进行降维,特征向量的维数错误

特征降维-PCA的数学原理