pca降维在matlab上的实现

pca降维在matlab上的实现

ID:14352309

大小:386.96 KB

页数:10页

时间:2018-07-28

pca降维在matlab上的实现_第1页
pca降维在matlab上的实现_第2页
pca降维在matlab上的实现_第3页
pca降维在matlab上的实现_第4页
pca降维在matlab上的实现_第5页
资源描述:

《pca降维在matlab上的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PCA降维在MATLAB上的实现学院计算机科学与技术专业计算机科学与技术年级2011级姓名周忠儒/王云标学号30111216058/051指导教师魏建国2014年5月28日PCA降维在MATLAB上的实现一实验目的2二实验环境2三实验原理21、PCA降维方法原理22、MATLAB33、PCA降维方法详解31)、原始数据:32)、协方差矩阵的求法:43)、计算协方差矩阵的特征向量和特征值:64)、选择成分组成模式矢量:65)、得到降维后的数据:7四实验代码详解7五实验结果8六实验总结9PCA降维在MATLAB上的实现一实验目的1掌握PCA降

2、维的基本内容2了解MATLAB的基本用法3用PCA降维算法处理图像数据二实验环境Matlab7.0三实验原理1、PCA降维方法原理PCA的原理就是将原来的样本数据投影到一个新的空间中,相当于我们在矩阵分析里面学习的将一组矩阵映射到另外的坐标系下。通过一个转换坐标,也可以理解成把一组坐标转换到另外一组坐标系下,但是在新的坐标系下,表示原来的原本不需要那么多的变量,只需要原来样本的最大的一个线性无关组的特征值对应的空间的坐标即可。PCA即主成分分析,是图像处理中经常用到的降维方法,大家知道,我们在处理有关数字图像处理方面的问题时,比如经常用的

3、图像的查询问题,在一个几万或者几百万甚至更大的数据库中查询一幅相近的图像。这时,我们通常的方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift,surf,vlad等等特征,然后将其保存,建立响应的数据索引,然后对要查询的图像提取相应的特征,与数据库中的图像特征对比,找出与之最近的图片。2、MATLABMATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运

4、算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。3、PCA降维方法详解1)、原始数据:由于本实验数据过于庞大,为了方便,我们假定数据是二维的,借助网络上的一组数据,如下:x=[2.5,0.5,2.2,1.9,3.1,2.3,2,1,1.5,1.1]Ty=[2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9]T2)、计算协方差矩阵(1)协方差矩阵:以下是含有n个样本的集合中,一些数理统计的相关概念:均值:标准差:方差:在这里,标准

5、差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的数据集,例如上学时免不了要统计多个学科的考试成绩。面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解这几科成绩之间的关系,这时,我们就要用协方差,协方差就是一种用来度量两个随机变量关系的统计量,其定义为:从协方差的定义上我们也可以看出一些显而易见的性质,如:1.cov(X,Y)=var(X);2.cov(X,Y)=var(Y,X);需要注意的是,协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如n维的数据集就需要计算个协方差,

6、那自然而然的我们会想到使用矩阵来组织这些数据。给出协方差矩阵的定义:这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度,则协方差矩阵为:可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。2)、协方差矩阵的求法:协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。下面我们将在matlab中用一个例子进行详细说明:首先,随机产生一个10*3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。MySample=fix(rand(10,3)*50)根据公式,计算协方差需要计算均值,那是按行

7、计算均值还是按列呢,我一开始就老是困扰这个问题。前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这一点。样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。为了描述方便,我们先将三个维度的数据分别赋值:dim1=MySample(:,1);dim2=MySample(:,2);dim3=MySample(:,3);计算dim1与dim2,dim1与dim3,dim2与dim3的协方差:sum((dim1-mean(dim1)).*(dim2-mean(dim2)))/(size(MySample,1)-1

8、)sum((dim1-mean(dim1)).*(dim3-mean(dim3)))/(size(MySample,1)-1) sum((dim2-mean(dim2)).*(dim3-mea

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。