模式识别方PCA实验报告_第1页
模式识别方PCA实验报告_第2页
模式识别方PCA实验报告_第3页
模式识别方PCA实验报告_第4页
模式识别方PCA实验报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

模式识别作业模式识别》大作业人脸识别方法----基于PCA和欧几里得距离判据的模板匹配分类器一、理论知识1、主成分分析主成分分析是把多个特征映射为少数几个综合特征的一种统计分析方法。在多特征的研究中,往往由于特征个数太多,且彼此之间存在着一定的相关性,因而使得所观测的数据在一定程度上有信息的重叠。当特征较多时,在高维空间中研究样本的分布规律就更麻烦。主成分分析采取一种降维的方法,找出几个综合因子来代表原来众多的特征,使这些综合因子尽可能地反映原来变量的信息,而且彼此之间互不相关,从而达到简化的目的。主成分的表示相当于把原来的特征进行坐标变换(乘以一个变换矩阵),得到相关性较小(严格来说是零)的综合因子。1.1问题的提出一般来说,如果N个样品中的每个样品有n个特征x,x,x,经过主成分分析,将12nTOC\o"1-5"\h\z它们综合成n综合变量,即 ...y=cx+cx+ +cx1 111 122 Inny=cx+cx+ +cxV2 211 222… 2nn•••y=cx+cx+ +cxn n11 n22 nnnc由下列原则决定: …ij1、 y和y(i丰j,i,j=1,2,...n)相互独立;ij2、 y的排序原则是方差从大到小。这样的综合指标因子分别是原变量的第1、第2、……、第n个主分量,它们的方差依次递减。1.2主成分的导出我们观察上述方程组,用我们熟知的矩阵表示,设X=x我们观察上述方程组,用我们熟知的矩阵表示,设X=x1x2个n维随机向量,y1

y2y1

y2Ly」n满足CC'=I。坐标旋转是指新坐标轴相互正交’仍构成一个直角坐标系。变换后的N个点在yi轴上有最大方差,而在y轴上有最小方差。同时,注意上面第一条原则,由此我们要求y.轴和yjn轴的协方差为零,那么要求YYt=An轴的协方差为零,那么要求九1令R=XXT,则RCT二Cta经过上面式子的变换,我们得到以下n个方程(r一九)c+rc+ +rc=011 111 1212 1n1nrc+(r一九)c+ +rc=02111 22 1 12 •… 2n1nrc+rc+ +(r一九)c=0n111n212 nn1 1n1.3主成分分析的结果•••我们要求解出C,即解出上述齐次方程的非零解,要求c..的系数行列式为0。最后得出ij结论九是IR-九11=0的根,y的方差为九。然后选取前面p个贡献率大的分量,这样就i i i实现了降维。也就是主成分分析的目标。二、实现方法1、 获取数据。在编程时具体是把一幅二维的图像转换成一维的;2、 减去均值。要使PCA正常工作,必须减去数据的均值。减去的均值为每一维的平均,所有的x值都要减去,同样所有的y值都要减去,这样处理后的数据都具有0均值;3、 计算协方差矩阵;4、 计算协方差矩阵的特征矢量和特征值。因为协方差矩阵为方阵,我们可以计算它的特征矢量和特征值,它可以告诉我们数据的有用信息;5、选择成分组成模式矢量现在可以进行数据压缩降低维数了。如果你观察上一节中的特征矢量和特征值,会注意到那些特征值是十分不同的。事实上,可以证明对应最大特征值的特征矢量就是数据的主成分。对应大特征值的特征矢量就是那条穿过数据中间的矢量,它是数据维数之间最大的关联。一般地,从协方差矩阵找到特征矢量以后,下一步就是按照特征值由大到小进行排列,这将给出成分的重要性级别。现在,如果你喜欢,可以忽略那些重要性很小的成分,当然这会丢失一些信息,但是如果对应的特征值很小,你不会丢失很多信息。如果你已经忽略了一些成分,那么最后的数据集将有更少的维数,精确地说,如果你的原始数据是n维的,你选择了前p个主要成分,那么你现在的数据将仅有p维。现在要做的是你需要组成一个模式矢量,这只是几个矢量组成的矩阵的一个有意思的名字而已,它由你保持的所有特征矢量构成,每一个特征矢量是这个矩阵的一列。6、获得新数据这是PCA最后一步,也是最容易的一步。一旦你选择了须要保留的成分(特征矢量)并组成了模式矢量,我们简单地对其进行转置,并将其左乘原始数据的转置:其中rowFeatureVector是由特征矢量作为列组成的矩阵的转置,因此它的行就是原来的特征矢量,而且对应最大特征值的特征矢量在该矩阵的最上一行。rowdataAdjust是减去均值后的数据,即数据项目在每一列中,每一行就是一维。FinalData是最后得到的数据,数据项目在它的列中,维数沿着行。FinalData=rowFeatureVector*rowdataAdjust这将仅仅给出我们选择的数据。我们的原始数据有两个轴(x和y),所以我们的原始数据按这两个轴分布。我们可以按任何两个我们喜欢的轴表示我们的数据。如果这些轴是正交的,这种表达将是最有效的,这就是特征矢量总是正交的重要性。我们已经将我们的数据从原来的xy轴表达变换为现在的单个特征矢量表达。如果我们已经忽略了一些特征矢量,则新数据将会用我们保留的矢量表达。三、matlab编程matlab程序分为三部分。程序框图如下图所示。四、总结从书里看我觉得最让人明白模板匹配分类器的一段话,就是“譬如A类有10个训练样品,就有10个模板,B类有8个训练样品,就有8个模板。任何一个待测样品在分类时与这18个模板都算一算相似度,找出最相似的模板,如果该模板是B类中的一个,就确定待测样品为B类,否则为A类。”意思很简单吧,算相似度就是算距离。就是说,模板匹配就要用你想识别的样品与各类中每个样品的各个模板用距离公式计算距离,距离最短的那个就是最相似的。实验结果表明识别率达90%。这样的匹配方法明显的缺点就是在计算量大,存储量大,每个测试样品要对每个模板计算一次相似度,如果模板量大的时候,计算量就十分的大。五、参考文献【1】边肇其,张学工•模式识别【M】.第2版•北京.:清华大学出版社,2000【2】周杰,卢春雨,张长水,李衍达,人脸自动识别方法综述【J】.电子学报,2000,5(4):102-106《模式识别》大作业人脸识别方法二----基于PCA和FLD的人脸识别的线性分类器一、理论知识1、fisher概念引出在应用统计方法解决模式识别问题时,为了解决“维数灾难”的问题,压缩特征空间的维数非常必要。fisher方法实际上涉及到维数压缩的问题。fisher分类器是一种几何分类器,包括线性分类器和非线性分类器。线性分类器有:感知器算法、增量校正算法、LMSE分类算法、Fisher分类。若把多维特征空间的点投影到一条直线上,就能把特征空间压缩成一维。那么关键就是找到这条直线的方向,找得好,分得好,找不好,就混在一起。因此fisher方法目标就是找到这个最好的直线方向以及如何实现向最好方向投影的变换。这个投影变换恰是我们所寻求的解向量W*,这是fisher算法的基本问题。样品训练集以及待测样品的特征数目为n。为了找到最佳投影方向,需要计算出各类均值、样品类内离散度矩阵S和总类间离散度矩阵S、样品类间离散度矩阵S,根据Fisheriwb准则,找到最佳投影准则,将训练集内所有样品进行投影,投影到一维Y空间,由于Y空间是一维的,则需要求出Y空间的划分边界点,找到边界点后,就可以对待测样品进行进行一维Y空间的投影,判断它的投影点与分界点的关系,将其归类。Fisher法的核心为二字:投影。

实现方法(1)计算给类样品均值向量m,m是各个类的均值,N是①类的样品个数。ii iim—工Xi—1,2,...,niNix书SS⑵计算样品类内离散度矩阵i和总类间离散度矩阵wS—工(X—m)(X—m)T i—1,2,...,ni i iS-乙Swii—1(3)计算样品类间离散度矩阵SbS=(m-m)(m-m)tb1212我们希望投影后,在一维Y空间各类样品尽可能地分开,也就是说我们希望两类样品均值之差(mi-m2)越大越好’同时希望各类样品内部尽量密集’即希望类内离散度越小越好,因此,我们可以定义Fisher准则函数:J(W)—FWTSWb WTSWw使得J(W)取得最大值的W*为W*—WTSWb WTSWwF(5)将训练集内所有样品进行投影y=(W*)tXw的满足下式J(W)=arcmaxFWtSWb—w的满足下式J(W)=arcmaxFWtSWb—WtSww—[w,w,w]1 2mw]是满足下式的S和S对应的w]是满足下式的S和S对应的m个最大特征值所对应的特征向量。m bw12注意到该矩阵最多只有C-1个非零特征值,C是类别数。2、程序中算法的应用Fisher线性判别方法(FLD)是在Fisher鉴别准则函数取极值的情况下,求得一个最佳判别方向,然后从高位特征向量投影到该最佳鉴别方向,构成一个一维的判别特征空间。将Fisher线性判别推广到C-1个判决函数下,即从N维空间向C-1维空间作相应的投影。利用这个m维的投影矩阵M将训练样本n维向量空间转化为m维的MEF空间并且获得在MEF空间上的最佳描述特征,即y=yi,yi,yi=Mt(x-m-m)i=1,2, ,N1 1 2m ii0y的样品类内离散度矩阵SNw由这N个MEF空间上的最佳描述特征可以求出yi,y的样品类内离散度矩阵SNw和总类间离散度矩阵S,取S-1S的K个最大的特征可以构成FLD投影矩阵W。将MEFbwb空间上的最佳描述特征y,y,y在fld投影矩阵w上进行投影,将mef空间降维到1 2NMDF空间,并获得对应的MDF空间上的最佳分类特征,即Z=(乙,乙,Zi)=Wy i=1,2,,Ni 1 2 k i通过计算Z,Z,Z的欧氏距离,••可以将训练样本分为C・(・C等于S-1S的秩),完成12kwb对训练样本集的分类・・・1、 matlab编程1、fisher判别法人脸检测与识别流程图2、matlab2、matlab程序分为三部分。程序框图如下图所示。判宦出A脸归属mainCreatDataBaseFisherfaceCoreRecognitionVImainCreatDataBaseFisherfaceCoreRecognitionVI这个函数将所有训练样本的二维图像转换成一维列向量。接着,它把这些一维列向量组合到一行里面构造出二维向量T,这个函数将所有训练样本的二维图像转换成一维列向量。接着,它把这些一维列向量组合到一行里面构造出二维向量T,即每个单元的信息量是一幅图片PCA提取特征值Fisher分类器设计。从fisher线性空间中提取图像这个函数将源图像提取成特征脸,然后比较它们之间的欧几里得距离2、 总结从计算成本来看,PCA+LDA方法的好处在于对高维空间的降维,避免了类内离散度矩阵不可逆的情况。然而,从识别性能来看,由于主成分只是代表图像的灰度特征,是从能量的角度衡量主成分大小的,应用PCA之后,舍弃的对应较小特征值的次要成分有可能对LDA来说重要的分类信息,有可能降低分类识别性能。而且,在实际应用中,特别是在人脸图像识别中,由于“维数灾难”的存在,FLD通常会遇到两个方面

温馨提示

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

最新文档

评论

0/150

提交评论