- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国地质大学(武汉)模式识别第四次实验:PCA
模式识别第四次实验
学号: 20121001873
班学号 姓名: 吴泽光
指导老师:马丽
中国地质大学(武汉)机械与电子信息学院
2015年4月
题目:基于PCA降维的遥感图像分类
实验目标:
1. 掌握PCA算法原理
2. 用MATLAB实现PCA,并进行结果分析。
实验内容:
采用INP数据(145*145*200),该数据有16个类别, PCA进行数据降维,然后对降维数据采用kNN分类(k=1)。
2. 要求
(1)得到整个图像的降维结果,报告中画出前面5个主成分/波段的图像。
(2)分析参数:降维波段数量d(尝试下列7个取值:3,5,10,20,30,40,50)。随机10次选择train数据和test数据(例如30%train,70%test),得到这些train和test数据的pca降维结果,采用kNN分类,求出分类准确度OA。(注意,一共得到7*10个OA,7是指不同的d值,10是指10次实验,也就是每个d每次随机数据下都有一个分类结果OA)。对每个d值下的10个OA取平均,得到该d值下的分类准确度。最后画1个表格,给出7种不同d值下的分类结果。
d=3 d=5 d=10 d=20 d=30 d=40 d=50 平均OA
(3)【选作optional】选择出最好OA所对应的d,然后在该d下,对全图进行1NN分类(1NN作用在pca降维图像上),画出全图分类结果。
(4)和第三次上机的结果进行比较(数据不降维,直接采用kNN算法分类),看PCA降维的作用(对于kNN算法,PCA降维是因为信息损失而使得分类效果下降,还是PCA降维提高了分类效果)。
PCA算法原理:
PCA算法的原理是设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息的统计的方法,也是数学上处理降维的一种方法。
PCA算法步骤:
1、求出矩阵的协方差矩阵Cx;
2、对协方差矩阵进行特征值的分解[a,b]=eig(Cx);
3、找出最大的d个特征值对应的特征向量,组成一个新的矩阵I;
4、将原矩阵与新的矩阵I相乘,实现数据降维。
算法程序代码:
(1)画出前五个波段的图像
选择不同的降维波段数量d,随机选择10次,得到分类准确度OA
(3)选择出最好OA所对应的d,然后在该d下,对全图进行1NN分类
试验结果:
前五个波段图像
第一个波段 第二个波段
第三个波段 第四个波段
第五个波段
取降维数d为3,5,10,20,30,40,50,随机10次选择train数据和test数据。对每个d值下的10个OA取平均,得到该d值下的分类准确度。
7种不同d值下的分类结果。
d=3 d=5 d=10 d=20 d=30 d=40 d=50 平均OA 0.64 0.74 0.75 0.76 076 0.76 0.76 OA的曲线为:
(3)选择最好的OA对应d=20,得到分类结果和数据不降维的得到的分类结果比较:
数据降维后的结果 数据不降维的结果
其实两者的分类效果差别不大,总体来说在一些细节方面不降维还是要清楚一点,说明对数据降维操作会损失数据的信息,增大了分类结果误差。但是从数据处理来看,数据降维提高了分类的速度,易于数据处理。
总结:
这次试验原理比较复杂,但是实现起来很简单。将数据降维在保证最大信息量的情况下提高了数据的处理速度。在编程中有一些循环在学长的指导下改成了矩阵运算,使程序更规范,也提高了运行效率。
clear
clc
%% read the data zy3sample1
原创力文档


文档评论(0)