模式识别——用身高和或体重数据进行性别分类_第1页
模式识别——用身高和或体重数据进行性别分类_第2页
模式识别——用身高和或体重数据进行性别分类_第3页
模式识别——用身高和或体重数据进行性别分类_第4页
模式识别——用身高和或体重数据进行性别分类_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、用身高和/或体重数据进行性别分类 1、【实验目的】(1)掌握最小错误率Bayes分类器的决策规则(2)掌握Parzen窗法(3)掌握Fisher线性判别方法(4)熟练运用matlab的相关知识。2、【实验原理】(1)、最小错误率Bayes分类器的决策规则如果在特征空间中观察到某一个(随机)向量x = ( x1 , x2 , xd )T,已知类别状态的先验概率为:和类别的条件概率密度为,根据Bayes公式得到状态的后验概率 有:基本决策规则:如果,则,将 x 归属后验概率最大的类别 。(2)、掌握Parzen窗法对于被估计点X:其估计概率密度的基本公式,设区域 RN 是以 hN 为棱长的 d 维

2、超立方体,则立方体的体积为;选择一个窗函数,落入该立方体的样本数为,点 x 的概率密度:其中核函数:,满足的条件:;。(3)、Fisher线性判别方法Fisher线性判别分析的基本思想:通过寻找一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,并且要求变换后的一维数据具有如下性质:同类样本尽可能聚集在一起,不同类的样本尽可能地远。 Fisher线性判别分析,就是通过给定的训练数据,确定投影方向W和阈值y0,即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。线性判别函数的一般形式可表示成 ,其中 根据Fisher选择投影方向W的原则,即使原样

3、本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为: 上面的公式是使用Fisher准则求最佳法线向量的解,该式比较重要。另外,该式这种形式的运算,我们称为线性变换,其中式一个向量,是的逆矩阵,如是d维,和都是d×d维,得到的也是一个d维的向量。向量就是使Fisher准则函数达极大值的解,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量的各分量值是对原d维特征向量求加权和的权值。以上讨论了线性判别函数加权向量W的确定方法,并讨论了使Fisher准则函数极大的d维向量的计算方法,但是判别函数中的另一项尚未确定

4、,一般可采用以下几种方法确定如或者或当与已知时可用当W0确定之后,则可按以下规则分类:3、【实验内容及要求】(1)、实验对象Datasetf1.TXT 女生的身高、体重数据Datasetm1.TXT男生的身高、体重数据- 训练样本集 Dataset1.txt 328个同学的身高、体重、性别数据Dataset2.txt 124个同学的身高、体重、性别数据- 测试样本集(2)基本要求: (1) 用Datasetf1.TXT和Datasetm1.TXT的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对

5、所学内容的理解和感性认识。(试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分离器进行比较)(2) 试验非参数估计,体会与参数估计在适用情况、估计结果方面的异同。4、【实验结果与分析】(1)、Bayes分类器的实验结果与分析A、对于Dataset1.txt 328个同学的身高、体重、性别数据的测试样本集:A1、当先验概率为:男0.5,女0.5时:身高分类错误个数: 15 身高分类错误率为: 12.10%体重分类错误个数: 15 体重分类错误率为: 12.10%【实验结果:】A2、当先验概率为:男0.75,女0.25时:身高分类错误个数: 19 身高分类错误率为: 15.32%体重分类错

6、误个数: 14 体重分类错误率为: 11.29%B、对于Dataset2.txt 124个同学的身高、体重、性别数据的测试样本集:B1、当先验概率为:男0.5,女0.5时:身高分类错误个数: 16 身高分类错误率为: 12.90%体重分类错误个数: 21 体重分类错误率为: 16.94%【实验结果:】B2、当先验概率为:男0.75,女0.25时:身高分类错误个数: 31 身高分类错误率为: 25.00%体重分类错误个数: 35 体重分类错误率为: 28.23%【结果分析:】Dataset1.txt样本数据集中,男女先验概率为(0.71vs0.29);Dataset2.txt样本数据集中,男女先

7、验概率为(0.66vs0.34)。对比实验结果,可以发现身高的分类错误率都小于体重的分类错误率,样本集越大,各个特征对应的分类错误率就越小。假设先验概率为(0.5vs0.5)的分类错误率小于假设先验概率为(0.75vs0.25)的分类集,就算假设的先验概率与实际的很相近,可是结果不准确。程序框图Bayes分类器源程序实验代码:clear all;load datasetf1.txt; load datasetm1.txt;%样本的分析figure;for i=1:250 if(i<79) plot(datasetf1(i,2),datasetf1(i,1),'r+');

8、end plot(datasetm1(i,2),datasetm1(i,1),'k*'); hold on;endtitle('样本数据');xlabel('体重(Kg)'),ylabel('身高(cm)');legend('男生','女生');fid=fopen('dataset1.txt','r'); test1=fscanf(fid,'%f %f %s',3,inf);test=test1'fclose(fid);Fmean = mean

9、(datasetf1);Mmean = mean(datasetm1);Fvar = std(datasetf1);Mvar = std(datasetm1);preF = 0.5;preM = 0.5;error = 0;Nerror = 0;%身高的决策figure;for i = 1:124PFheight = normpdf(test(i,1),Fmean(1,1),Fvar(1,1) ;PMheight = normpdf(test(i,1),Mmean(1,1),Mvar(1,1) ;pFemale = preF*PFheight;pMale = preM*PMheight; if

10、(pFemale<pMale) plot(i,test(i,1),'k*'); if (test(i,3)='f') Nerror = Nerror +1; end else plot(i,test(i,1),'r+'); if (test(i,3)='M') Nerror = Nerror +1; end end hold on;end;error = Nerror/124*100;title('身高最小错误率Bayes分类');xlabel('测试序号'),ylabel('身高(c

11、m)');sprintf('%s %d %s %0.2f%s','身高分类错误个数:',Nerror,'身高分类错误率为:',error,'%')%体重决策figure;error = 0;Nerror = 0;for j= 1:124PFweight = normpdf(test(j,2),Fmean(1,2),Fvar(1,2) ;PMweight = normpdf(test(j,2),Mmean(1,2),Mvar(1,2) ;pwFemale = preF*PFweight;pwMale = preM*PMwei

12、ght;if(pwFemale<pwMale) plot(j,test(j,2),'k*'); if (test(j,3)='f') Nerror = Nerror +1; end else plot(j,test(j,2),'r+'); if (test(j,3)='M') Nerror = Nerror +1; end end hold on;end;error = Nerror/124*100;title('体重最小错误率Bayes分类');xlabel('测试序号'),ylabel(&

13、#39;体重(kg)');sprintf('%s %d %s %0.2f%s','体重分类错误个数:',Nerror,'体重分类错误率为:',error,'%')(2)、Parzen窗法的实验结果与分析(先验概率为0.5vs0.5)A、对于Dataset1.txt中有78个女生和250个男生, 共328个同学的身高、体重、性别数据的测试样本集的结果:女生人数为:84; 男生人数为:244; 拒分人数:0;女生错分人数:4; 男生错分人数:33;总的错分人数:37;女生分类错误率: 0.0800; 男生分类错误率:0.132

14、0; 总的分类错误率:0.1128;B、对于Dataset2.txt中有40个女生和84个男生, 共124个同学的身高、体重、性别数据的测试样本集:女生人数为:41; 男生人数为:83;拒分人数:0;女生错分人数:15; 男生错分人数:6;总的错分人数:21;女生分类错误率: 0.3000; 男生分类错误率:0.0240 ; 总的分类错误率: 0.1694 ;结果分析:Parzen窗法的分类结果比较准确,样本集越大,错误率就越小。Parzen窗法的源程序代码:clc; clear all; FH FW=textread('datasetf1.txt','%f%f'

15、;); MH MW=textread('datasetm1.txt','%f%f'); FA=FH FW; MA=MH MW; N1=max(size(FA);h1=7; hn1=h1/(sqrt(N1); VN1=hn12; N2=max(size(MA); h2=7; hn2=h2/(sqrt(N2); VN2=hn22; tH tW=textread('dataset1.txt','%f%f%*s'); X=tH tW; M N=size(X); s=zeros(M,1); error=0; errorgirl=0; err

16、orboy=0; errorrate=0; errorgirlrate=0; errorboyrate=0; girl=0; boy=0; bad=0; for k=1:M A=X(k,1) X(k,2); x=A; p=0.5;%p为属于女生的先验概率,则1-p为男生的先验概率 pp=0; for i=1:N1 fa=FA(i,1) FA(i,2); n=1/sqrt(2*pi)*exp(-0.5*abs(x-fa)*(x-fa)')/(hn12); pp=pp+n; end p1=1/VN1*pp' y1=1/N1*p1;%是女生的条件概率密度函数 qq=0; for j=1:N2 ma=MA(j,1) MA(j,2); m=1/sqrt(2*pi)*exp(-0.5*abs(x-ma)*(x-ma)')/(hn22); qq=m+qq; end q1=sum(1/VN2*qq'); y2=1/N2*q1;%男生的概率密度函数,即其条件概率 g=p*y1-(1-p)*y2;%g为判别函数 if g>0 if k<=50 s(k,1)=0;%判为女生 girl=girl+1; else errorboy=errorboy+1; end else if g<0 if k<=5

温馨提示

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

最新文档

评论

0/150

提交评论