![deeplearningPCA(主成分分析)、主份重构、特征降维_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-6/9/ee510f3a-df3e-4fbe-954f-e132a1e87967/ee510f3a-df3e-4fbe-954f-e132a1e879671.gif)
![deeplearningPCA(主成分分析)、主份重构、特征降维_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-6/9/ee510f3a-df3e-4fbe-954f-e132a1e87967/ee510f3a-df3e-4fbe-954f-e132a1e879672.gif)
![deeplearningPCA(主成分分析)、主份重构、特征降维_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-6/9/ee510f3a-df3e-4fbe-954f-e132a1e87967/ee510f3a-df3e-4fbe-954f-e132a1e879673.gif)
![deeplearningPCA(主成分分析)、主份重构、特征降维_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-6/9/ee510f3a-df3e-4fbe-954f-e132a1e87967/ee510f3a-df3e-4fbe-954f-e132a1e879674.gif)
![deeplearningPCA(主成分分析)、主份重构、特征降维_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-6/9/ee510f3a-df3e-4fbe-954f-e132a1e87967/ee510f3a-df3e-4fbe-954f-e132a1e879675.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、deeplearningPCA(主成分分析)、主份重构、特征降维、/、刖百前面几节讲到了深度学习采用的数据库大小为28x28的手写字,这对于机器学习领域算是比较低维的数据,一般图片是远远大于这个尺寸的,比如256x256的图片。然而特征向量的维数过高会增加计算的复杂度,像前面训练60000个28x28的手写字,在我这个4G内存,COREi5的CPU上训练需要3个小时,如果你使用GPU当然会增加训练的速度。维数过高会对后续的分类问题带来负担,实际上维数过高的特征向量对于分类性能(识别率)也会造成负面的影响。很多人认为提取的特征维数越高对提高识别有用,然而事实并不是我们通常想的,因为一张图片中的很
2、多特征是相关的。也就是选取合适的特征向量对提高识别率有很大的影响。因此就出现了PCA。快速PCA算法PCA的计算中最主要的工作是计算样本的协方差矩阵的特征值和特征向量,当然这对于MATLAB来说是非常容易的了。设样本矩阵X的大小为nxd,n代表样本的个数,d代表一个样本的特征向量。则样本的散布矩阵(协方差矩阵)S是一个dxd的方阵,当维数d较大时,如维数d=10000,那么S是一个10000x10000的矩阵,这样非常消耗内存,结果就是你的笔记本电脑卡死,CPU使用率变高,内存被占的满满的,你无法做任何其他事。这时就出现了快速3CA算法。计算散布矩阵的特征值和特征向量,设Z为nxd的样本举证X
3、中的每一个样本减去样本均值m后得到的矩阵,即散布矩阵S为Z'Z,S为dxd。若现在考虑矩阵R=ZZ',R为nxn,一般情况下样本目标n是远远小于样本的维数d的,R的尺寸也是远远大于散布矩阵S,然而它与S有着相同的非零特征值。设n维列向量v是R的特征向量,则有(ZZ')v=Z(1)将式(1)的两边同时左乘Z',并利用矩阵乘法结合律得(Z'Z)(Z'v)=入(Z'v)(2)式(2)说明Z'v为散布矩阵S=Z'Z的特征值。这说明可以计算小矩KR=ZZ'的特征向量v,而后通过左乘Z得到散布矩阵S=Z'Z的特征向量Z
4、'v。下面以剑桥大学的ORL人脸库进行试验。下面是数据库中的样本例子:STEP1生成样本矩阵,大小为nxd,n代表样本个数,d代表一个样本的特征数。下面是代码。ReadFaces.m<spanstyle="font-family:TimesNewRoman;"><spanstyle="font-size:14px;">functionimgRow,imgCol,FaceContainer,faceLabel=ReadFaces(nFacesPerPerson,nPifnargin=0nFacesPerPerson=5;nP
5、erson=40;bTest=0;elseifnargin<3bTest=0;endimg=imread('D:机器学习att_facess11.pgm');imgRow,imgCol=size(img);FaceContainer=zeros(nFacesPerPerson*nPerson,imgRow*imgCol);faceLabel=zeros(nFacesPerPerson*nPerson,1);fori=1:nPersoni1=mod(i,10);i0=char(i/10);strPath='D:机器学习att_facess'if(i0=0)s
6、trPath=strcat(strPath,'0'+i0);endstrPath=strcat(strPath,'0'+i1);strPath=strcat(strPath,'/');tempStrPath=strPath;forj=1:nFacesPerPersonstrPath=tempStrPath;ifbTest=0strPath=strcat(strPath,'0'+j);elsestrPath=strcat(strPath,num2str(5+j);endstrPath=strcat(strPath,'.pgm
7、');img=imread(strPath);FaceContainer(i-1)*nFacesPerPerson+j,:)=img(:)'faceLabel(i-1)*nFacesPerPerson+j)=i;endendsave('FaceMat.mat','FaceContainer')</span></span>STEP2利用生成的样本矩阵求特征值和特征向量。10先求出样本矩阵特征的平均值;(2)计算协方差矩阵;(3)计算协方差矩阵前k个特征值和特征向量;(4)得到协方差矩阵的特征向量然后再归一化;(5)线性变化投
8、影到k维。fastPCA.m<spanstyle="font-family:TimesNewRoman;"><spanstyle="font-size:14px;">functionpcaAV=fastPCA(A,k)%A-代表样本矩阵%k-代表降至k维%PcaA-降维后的k维样本特征向量组成的矩阵,每一行代表一个样本,%列数k为降维后的样本矩阵的维数%V-主成份向量A=load('FaceMat.mat');rc=size(A);meanVec=mean(A);%求样本的均值Z=(A-repmat(meanVec
9、,r,1);covMatT=Z*Z'%计算协方差矩阵,此处是小样本矩阵VD=eigs(covMatT,k);%计算前k个特征值和特征向量V=Z'*V;%得到协方差矩阵covMatT'的特征向量%特征向量归一化单位特征向量fori=1:kV(:,i)=V(:,i)/norm(V(:,i);endpcaA=Z*V;%线性变化降维至k维save('PCA.mat','V','meanVec');</span></span>通过前两步就提取到了样本的特征向量和特征值并存储在DcaA中。下面将介绍可视化主成份
10、脸。V中每一列存储的是主份特征,第一列就表示存储的第一主成份,第二列表示存储的第二主成份,以此类推。visualize_pc.m<spanstyle="font-family:TimesNewRoman;"><spanstyle="font-size:14px;">functionvisualize_pc(E)sizelsize2=size(E);globalimgRow;globalimgCol;row=imgRow;col=imgCol;figureimg=zeros(row,col);forii=1:20img(:)=E(:
11、,ii);subplot(4,5,ii);imshow(img,);end</span></span>main1.m<spanstyle="font-family:TimesNewRoman;font-size:14px;">functionmain1(k)%阀弋表降至k维globalimgRow;globalimgCol;nPerson=40;nFacesPerPerson=5;display('读入人脸数据.');imgRow,imgCol,FaceContainer,faceLabel=ReadFaces(nFacesPerPerson,nPerson);display('');nFaces=size(FaceContainer,1);display('PCA降维.');LowDimFacesW=fastPCA(FaceContainer,k);visualize_pc(W);save('LowDimFaces.mat','LowDimFaces');display('结束.');</span>任意显示20个主分脸fi93B主份脸重构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工单位关于施工进度报告的工作联系函
- 跨越障碍培养学生创新能力的有效措施
- 跨领域视角下的安全工作与生产计划整合
- DB3702T 45.1-2024地理标志产品 平度牛肉 第1部分:生产技术规程
- 二手货物买卖合同范文
- 中外合资企业职工住房公积金合同范本
- 中外合作经营企业合同范本
- 中外合资饭店租赁合同模板
- 专利实施许可合同协议
- 中外原材料供应合同样本
- 《建筑工程设计文件编制深度规定》(2022年版)
- 我国大型成套设备出口现状、发展前景及政策支持研究
- 河南省郑州市2023-2024学年高一下学期6月期末数学试题(无答案)
- 七年级数学垂线1
- 2024年最新全国交管12123驾驶证学法减分(学法免分)考试题库附答案
- JTG C10-2007 公路勘测规范
- 糖尿病酮症酸中毒护理查房演示课件
- 拼音练习字帖(打印版)
- 药店信息处理与保密技巧
- 40篇短文搞定高中英语3500单词
- 锂电新能源项目融资计划书
评论
0/150
提交评论