PCA报告去掉姓名可分享版本_第1页
PCA报告去掉姓名可分享版本_第2页
PCA报告去掉姓名可分享版本_第3页
PCA报告去掉姓名可分享版本_第4页
PCA报告去掉姓名可分享版本_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PCA报告一、介绍主成分分析由卡尔 皮尔逊于1901年发明,用于分析数据及建立数理模型。主成分分析(PCA )有两种常用的等价定义(1)是将数据正交映射到低维线性空间使得映射后后的数据方差最大的方法(2)是一种映射方法使得映射后的数据和原数据均方误差最小。主要应 用于数据降维,数据压缩,特征提取等。二、计算方法和步骤1、准备数据我们用Matlab生成两维数据来展示 PCA分析的过程。数据准备时要求每一维都减去该维的平均值。x = 1:10; y = x .* (0.5 + rand(1,10); x = x - mean(x); y = y - mean(y);如下图原始数据y减去均值后9.1

2、667 9.20489.2048 15.13042、计算协方差矩阵用covar = cov(x y)计算得协方差矩阵为3、计算协方差矩阵的特征值和特征向量用V,D = eig(covar)计算得到特征值2.4728和21.8243,对应的特征向量分别为-0.8088 和0.58810.58810.8088,如下图,其中粗线代表主成分,对应较大的特征值。x4、选择主成分构造 Feature Vector找到特征向量之后,按照特征值由大到小的顺序将对应的特征向量排列起来,特征值大的对应的特征向量就是主分量,忽略较小特征值对应的分量,这样就达到了降维的目的,虽然会损失一定的精度(也有可能是噪声,就如

3、同本例),由于对应特征值很小,所以影响不大。Feature Vector就是将选出的主分量排列起来形成的矩阵,设主分量w,V2,.,Vn均为列向量,贝V FeatureVector (vV2,,Vn),对于本例中,由于仅有两个特征向量,可以选对应0.5881 -0.80880.80880.58810.5881特征值较大的作为Feature Vector,也可以取两者,即0.80885、产生新数据新数据即Feature Vector转置乘以原数据矩阵的转置,用公式表示即NewData FeatureVectorT * (x, y)T0.5881 -0.8088取Feature Vector为时,

4、新数据图示如下,红点(空心点)为原数0.80880.5881据,蓝点(实心点)为新数据,显然,新数据就是原数据做了一个旋转变换。新数据和原数据的对比642y0-2-4-6-8-6-4-20246810x0.5881当Feature Vector取时,新数据将变为一维数据,是上图中新数据在 x轴上的0.8088投影。三、实例分析用PCA进行图像压缩选取256X 256的lena图像,划分成 4096个4X 4的小图像块,将每个图像块对应的4X 4矩阵变换为1 X 16的16维向量,这样就有了 4096个样本,每个样本是 16维的。对此 数据运用PCA,依次取16个主分量、4个主分量、2个主分量进

5、行数据压缩,观察重建后 的图像的信息损失。以取2个主分量为例分析压缩率, 此时变换后的数据为 2 X 4096的矩阵, 2个16维特征向量,4096个均值,由这些信息即可恢复出原图像,数据量大概减少了 81%,可见压缩率是很高的(当然,有一定的信息损失)。实验结果见下图,代码见附录。取4个主分量取2个主分量参考文献1 A tutorial on Principal Components Analysis, Lindsay I Smith2 姜虹,主成分分析的图像压缩与重构J,电子设计工程附录A=imread( lena256.bmp);figue(1),subplot(221),imshow(

6、A),title(原图)B = zeros(16,64*64);for i = 1:64for j = 1:64B(1:16,(i - 1) * 64 + j) =A(i - 1) * 4 + 1,(j - 1) * 4 + 1 : (j- 1) * 4+ 4)A(i - 1) * 4 + 2,(j - 1)* 4 + 1 : (j - 1) * 4 + 4) A(i - 1) *4 + 3,(j- 1) * 4 +1 : (j - 1) * 4 + 4)A(i - 1) * 4 + 4,(j - 1)* 4 + 1 : (j - 1) * 4 + 4);endend%务图像划分为64 X 6

7、4块,每块都是4X 4的小图像,然后展平,作为B的一列B=B; %此时每行是一个小图像,作为一个样本m = zeros(1,64*64);for i = 1:64*64m(i) = mean(B(i,:);B2(i,:) = B(i,:) - m(i);endcovar = cov(B2);V,D = eig(covar);%fv = V;fv = V(:,end - 1:end);new = fv * B2;ori = fv * new; %ori = B2%ori = ori;for i = 1:64*64ori(:,i) = ori(:,i) + m(i);endori = uint8(

8、ori);AR = uint8(zeros(size(A);for i = 1:64for j = 1:64AR(i - 1) * 4 + 1,(j - 1) * 4 + 1 : (j - 1) * 4 + 4) = ori(1:4,(i - 1) * 64 + j);AR(i - 1) * 4 + 2,(j - 1) * 4 + 1 : (j - 1) * 4 + 4) = ori(5:8,(i - 1) * 64 + j);AR(i - 1) * 4 + 3,(j - 1) * 4 + 1 : (j - 1) * 4 + 4) = ori(9:12,(i - 1) * 64 + j);AR(i - 1) * 4 + 4,(j - 1) * 4 + 1 : (j - 1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论