在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降维运算,求得特征向量矩阵之后,又要如何才能得到我需要的投影矩阵呢?的主要内容,如果未能解决你的问题,请参考以下文章
图像融合基于matlab高分辨率全色图PCA图像融合(含评价指标)含Matlab源码 2407期