资源描述:
《K-L变换进行特征提取.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途利用K-L变换进行特征提取的实验一、基本要求用FAMALE。TXT和MALE.TXT的数据作为本次实验使用的样本集,利用K—L变换对该样本集进行变换,与过去用Fisher线性判别方法或其它方法得到的分类面进行比较,从而加深对所学内容的理解和感性认识。二、具体做法1.不考虑类别信息对整个样本集进行K-L变换(即PCA),并将计算出的新特征方向表示在二维平面上,考察投影到特征值最大的方向后男女样本的分布情况并用该主成分进行分类2.利用类平均向量提取判别信息,选取最好的投影方向,考察投影后样本的分布情况并用该投影方向进
2、行分类.3.将上述投影和分类情况与以前做的各种分类情况比较,考察各自的特点和相互关系.三、实验原理K—L变换是一种基于目标统计特性的最佳正交变换.它具有一些优良的性质:即变换后产生的新的分量正交或者不相关;以部分新的分量表示原矢量均方误差最小;变换后的矢量更趋确定,能量更集中。这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。设n维矢量,其均值矢量,协方差阵个人收集整理勿做商业用途,此协方差阵为对称正定阵,则经过正交分解可表示为,其中,为对应特征值的特征向量组成的变换阵,且满足。变换阵为旋转矩阵,再此变换阵下变换为,在新的正交
3、基空间中,相应的协方差阵。通过略去对应于若干较小特征值的特征向量来给y降维然后进行处理.通常情况下特征值幅度差别很大,忽略一些较小的值并不会引起大的误差.1。不考虑类别信息对整个样本集进行K—L变换(即PCA)(1)读入female。txt和male。txt两组数据,组成一个样本集。计算样本均值向量和协方差(2)计算协方差阵C的特征值和特征向量U(3)选取特征值最大的特征向量作为投影方向(4)选取阈值进行判断2。利用类平均信息提取判别信息(1)读入female。txt和male.txt两组数据,分别计算样本均值向量和协方差,及总均值向量
4、(2)计算类间离散度矩阵Sb()与类内离散度矩阵Sw()个人收集整理勿做商业用途(3)用比较分类性能,选择最佳投影方向(4)选取阈值进行判断一、实验结果与分析1.不考虑类别信息对整个样本集进行K-L变换(即PCA)U=(0.6269,0。7791)T,P1=0。5,P2=0.5判错个数错误率采用K-L变换判别方法1414%采用Fisher线性判别方法1212%2。利用类平均信息提取判决信息U=(0.5818,0.8133)T,P1=0.5,P2=0。5判错个数错误率采用K-L变换判别方法1313%采用Fisher线性判别方法1212%二
5、、心得体会个人收集整理勿做商业用途%不考虑类别信息clc;clearall;[FHFW]=textread(’C:UsersrengangDesktophomeworkFEMALE.txt',’%f%f’);[MHMW]=textread(’C:UsersrengangDesktophomeworkMALE.txt',’%f%f’);FA=[FHFW];FA=FA’;MA=[MHMW];MA=MA';fork=1:50NT(:,k)=FA(:,k);endfork=51:100NT(:,k)=MA(:,k—50);e
6、ndX=(sum(NT’)/length(NT))';%这里NT’是一个100*2的矩阵,X为总样本均值.c=cov(NT');[u,v]=eig(c);%求矩阵c的全部特征值,构成对角阵v,并求c的特征向量构成u的列向量。[a,b]=max(v);[c,d]=max(a);U=u(:,d)x=U’*X;errorg=0;errorb=0;fork=1:100TT(:,k)=U'*NT(:,k);ifk〈=50ifTT(:,k)>xerrorg=errorg+1;endelseifTT(:,k)〈xerrorb=errorb+1;end
7、endenderrorgerrorberror=errorg+errorbh=error/100%利用类平均信息个人收集整理勿做商业用途clc;clearall;[FHFW]=textread('C:UsersrengangDesktophomeworkFEMALE。txt’,'%f%f’);[MHMW]=textread('C:UsersrengangDesktophomeworkMALE.txt’,'%f%f');FA=[FHFW];FA=FA’;MA=[MHMW];MA=MA’;a=cov(FA’);b=cov
8、(MA’);x1=(sum(FA')/length(FA))';x2=(sum(MA’)/length(MA))’;Sw=0。5*a+0.5*b;[u,v]=eig(Sw);x=(x1+x2)/2;Sb=0