作业帮 > 综合 > 作业

matlab中使用快速pca提取特征

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 03:33:02
matlab中使用快速pca提取特征
在matlab中使用快速pca降维我下载了一个程序,当中function [ pcaA,V] = fastPCA( A,k,mA)中的mA代表的是什么
m=size(A,1);
Z=(A-repmat(mA,m,1));
T=Z*Z';
[V,D]=eigs(T,k);%计算T的最大的k个特征值和特征向量
V=Z'*V; %协方差矩阵的特征向量
for i=1:k %特征向量单位化
l=norm(V(:,i));
V(:,i)=V(:,i)/l;
end
pcaA=Z*V; %线性变换,降至k维
end
程序中的Z=(A-repmat(mA,m,1));和T=Z*Z';又是干什么的,有没有谁能跟我说一下pca这个函数在matlab中是怎么使用的啊 我是初学者,在网上只能搜到pca的原理具体怎么用的没有将,谁能跟我说明一下
1、参数mA代表A的均值,也就是mean(A).其实这个参数完全没必要,因为可以从参数A计算得到. 2、解释一下你问的两个语句的含义:Z=(A-repmat(mA,m,1)); 作用是去除直流成分
T=Z*Z'; 计算协方差矩阵的转置 3、关于函数的调用:MATLAB统计工具箱中有函数princomp,也是进行主成分分析的(2012b之后有函数pca),基本调用格式:[pc, score] = princomp(x)其中,输入参数x相当于你这个函数的A,输出参数score相当于你这里的pcaA,而pc大致相当于你这里的V(符号相反).具体说明请参考函数的文档.