主成成分分析pca算法

主成成分分析pca算法

ID:40270868

大小:55.00 KB

页数:4页

时间:2019-07-30

主成成分分析pca算法_第1页
主成成分分析pca算法_第2页
主成成分分析pca算法_第3页
主成成分分析pca算法_第4页
资源描述:

《主成成分分析pca算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目前,pca算法已经广泛应用于各方面,就拿图像处理,经常做的一件事就是当提取的图像特征维度比较高时,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。 先举个例子,方便理解:  1)对于一个训练集,20个sample(i=1,2,3,...,20),特征Xi是100维[Xi1,Xi2,Xi3,...Xij,...,Xi100](j=1,2,..,100),那么它可以建立一个20*100的样本矩阵M。  2)紧接着我们开始求这个样本的协方差矩阵,得到一个20*20的协方差矩阵,计算过程如下:      •

2、先求解出Xi的平均Xav=(∑xi)/20;       •对每一个Xi,计算Xi-Xav,即Mi(第i行)变为Mi-Xav,记为Mn;       •则容易得到协方差矩阵Z为Mn*Mn'('表示转置)。  3)然后求出这个协方差矩阵Z20x20的特征值和特征向量,一般情况下应该有20个特征值和特征向量,现在根据特征值的大小,取出较大的特征值以及其所对应的特征向量,(假设提取的特征值为较大的5个特征值),那么这5个特征向量就会构成一个20*5的矩阵V,这个矩阵就是我们要求的特征矩阵。  4)用Mn'去乘以V,得到一个base矩阵(*),大小为1

3、00x5。  5)任取一个样本1x100,乘上这个100*5的特征矩阵,就得到了一个1*5的新的样本,显然每个sample的维数下降了,然后再用这个1x5向量去比较相似性。 注:›上述3)过程中特征值的选取在不确定具体要降到多少维的情况下,一般还可以根据n个特征值之和大于总和的90%进行选取。›上面的(*)处base矩阵的求解不唯一,也可以自行修正。 大致说完了PCA降维的过程,现在会有人要问为什么只提取特征值较大的几个特征值就可以近似代替原样本矩阵呢。好了,话不多说。下面就讲讲矩阵的特征值和特征向量的数学意义: 为简单起见,以二维矩阵A=[1

4、0;0-1](矩阵的秩为2)为例,以平面上一点(x,y)经过A变换后变为(x',y')若这两点在一条直线在,那么可以理解为矩阵A的作用恰好使得向量[xy]'只是在原有方向上变换了长度而已,即Ax=λx(x为一列向量).对于A矩阵,容易得到A的两个特征值及相应的特征向量 λ1=1,e1=[10]', λ2=-1,e2=[0-1]',二维平面上任意一点(x,y)=b1*(1,0)+b2*(0,-1)(b1,b2均为实常数);那么A[xy]'=A*(b1*e1+b2*e2)=b1*λ1+b2*λ2=∑biλi ; 把这个公式推广到高维空间,在计算(x

5、',y')对于λ值比较小的特征维可以忽略.B=[10;00.01],其中B的两个特征值及相应的特征向量 λ1=1,e1=[10]', λ2=0.01,e2=[01]'那么x=[23]'经过B变换为Bx=[20.03]';如果我们认为λ2远小于λ1,忽略掉λ2时,Bn=[10;00],Bnx=[20]'≈[20.03]. 通俗点讲,pca算法就是去寻找那些在该维度上方差比较大的维,同时忽略比较平均的维度。假如上面所说的X特征向量的第一个元素都为1,那么这一列数据是可以忽略的,因为他并不能起到区分的作用,相反我们是要寻找那些在某一维度分布比较广的维

6、,并提取出来。打个比方,平面区域一个斜75度的椭圆,且长轴远大于短轴,那么椭圆上的点在短轴上的分布明显弱于长轴,当短轴远小于长轴时,近似为一条直线,便失去了短轴这个维度。下面贴上一个matlab版的pca算法代码:?12345678910111213%一个修改后的PCA进行人脸识别的Matlab代码clear;%calcxmean,sigmaanditseigendecompositionallsamples=[];%所有训练图像for i=1:40    for j=1:5      a=imread(strcat('C:Documents

7、andSettingsForeigners桌面ORLs',num2str(i),'',num2str(j),'.bmp'));      %imshow(a);      b=a(1:112*92);%b是行矢量1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右      b=double(b);      allsamples=[allsamples;b]; %allsamples是一个M*N矩阵,allsamples中每一行数据代表一张图片,其中M=200  endend141516171819202122232

8、4252627282930313233343536373839404142434445464748495051525354555657sampleme

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

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

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