主成分分析法MATLAB实现

所需积分/C币:27 2015-11-08 20:14:27 300KB PDF

用简单易懂的方法讲解了主成分分析的原理,并给出了MATLAB实现程序
35 13 19 33 13 3832 39 4 41 24 24 34 22 47 15 17 73529 11 计算协方差矩阵 s-s- repmat(mean(), 10, 1)i (S'*S)./(size(Sr1)-1); COV(S) 329,1222 7.8557182.78吧 7,867188,9333,5111 1E2,7888,5111178.9889 对协方差矩阵进行特征值分解 [P,Lambda] =eig(C) .B887 日,4441 B,8916 g.586 g.148 g.242 .1219-8.8835.4522 Lambda 1.1649 g127.4593 g381.4293 这里由于三个方差没有明显特别小的,所以我们都保留下来,虽然维度没有降,但可以捋 Lambda(即 PCA后的样本协方差矩阵)和C(即原始的协方差矩阵),可以发现,③个维度上的方差都有增大也就是能 量都比原来增大了,这就是降噪的功劳。最后我们得到降维后的祥本矩阵 S1= S*P 51= 4.B47715.818119.1323 11.4773-16.6558-11.8879 8:4913-13.269-137 -11.43872.9815-21.959 7.633518.939-28,8341 1.8912 8.317了28.3838 72929-14.814624.5927 4.56591.7649-6.1561 8.98554.928227.7284 8.99918.1843-21.4了24 为了验证,我们调用 matlab自带的主成分分析函数 prIncom p: LCOEFF, SCORE]= princomp(s)号coF表示投影矩阵,Sc○RE表示投影后新样本矩阵 COEFF .8915-8.4441.887 .242 巳.1488 E.4522 .8835 .1219 SCORE 1.132 15,8181-4.47了 11.887916.655-11.4773 1.38713.2698.4913 21.9859-2981511.438了 型,83411839-17,835 2E.3838-8,3177-1:8912 24.592714.8146 7,2929 6.1561-1.7649 4.5659 27.7284 4.9282 8.9855 21,4724 日,1438,9991 对比,可以发现, SCORE和S1在不考虑维度顺序和正负的情况下是完全吻合的,之所以我们计算的S1 的维度顺序不同,是因为通常都是捋投影矩阵P按能量(特征值)的降序排列的,而刚扌我们用eg函数得到 的结果是升序。另外,在通常的应用中,我们一般是不使用 matlabl的 prIncomp函数的,因为它不能真正 的降维(不提供相关叁数,还是我没发现?)。一般情况下,我们都是按照协方差矩阵分解后特征值所包 含的能量来算的,比如取90%的能量,那就从最大的特征值开始加,一直到部分和占特征值总和的90% 为止,此时部分和含有的特征值个数即为p。 经过了一番推公式加敲代码的过程,相信大家对主成分分析应该不陌生了吧,同时对协方差矩阵也有了 更深层次的认识了吧,它可不只是花花枪啊。我个人觉得PCA在数学上的理论还是很完备的,相必这也 是它能在多种应用中博得鳌头的原因吧。 分享

...展开详情

评论 下载该资源后可以进行评论 1

myheropop 拿个论文糊弄人
2018-05-18
回复
img
航空件

关注 私信 TA的资源

上传资源赚积分,得勋章
最新资源