您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 用身高和体重数据进行性别分类的实验报告
用身高和体重数据进行性别分类的实验报告一、基本要求用FAMALE.TXT和MALE.TXT的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。二、具体做法(1)应用两个特征进行实验:同时采用身高和体重数据作为特征,分别假设二者相关或不相关,在正态分布假设下估计概率密度,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到训练/测试样本,考察训练/测试错误情况。比较相关假设和不相关假设下结果的差异。在分类器设计时可以考察采用不同先验概率(如0.5vs.0.5,0.75vs.0.25,0.9vs.0.1等)进行实验,考察对决策和错误率的影响。(2)自行给出一个决策表,采用最小风险的Bayes决策重复上面的实验。三、原理简述及程序框图A.正态分布的监督参数估计监督参数估计:样品所属的类别及类条件总体概率密度函数的形式为已知,而表征概率密度函数的某些参数是未知的。本实验符合上述条件且在正态分布假设下估计分布密度参数故使用正态分布的监督参数估计对于多元正态分别,其最大似然估计的结果为:11ˆNKKXn11ˆˆˆNTKKKXXNB.最小错误率Bayes分类器在多元正态模型下的最小错误率角度来分析Bayes分类器(1)假设身高与体重不相关令协方差矩阵次对角元素为零判别函数可简化为0TTiiiigxxWxwxw其中112iiW,1iiw101122iTiiiiwuuInInP具体算法步骤如下:第一步将训练样本集数据转为矩阵FA,MA。第二步分别对FA,MA求取协方差12,,令协方差矩阵次对角元素为零,平均值12,并输入先验概率12,PP第三步将第二步所得数值代入判别函数表达式得12,gxgx。第四步将待测样本集数据转为矩阵T,将T中数值依次代12gxgx,若120gxgx,则判断其为第一类,反之,第二类。(2)假设身高与体重相关判别函数可简化为0TTiiiigxxWxwxw其中112iiW,1iiw101122iTiiiiwuuInInP具体算法步骤如下:第一步将训练样本集数据转为矩阵FA,MA。第二步分别对FA,MA求取协方差12,平均值12,并输入先验概率12,PP第三步将第二步所得数值代入判别函数表达式得12,gxgx。第四步将待测样本集数据转为矩阵T,将T中数值依次代12gxgx,若120gxgx,则判断其为第一类,反之,第二类。C.最小风险Bayes分类器(1)在已知先验概率jP和类条件概率密度jPx,j=1,…c及给出带识别的x的情况下,根据Bayes公式计算后验概率:1,1,,cjjjciiiPxPPxjPxP(2)利用后验概率及决策表,计算条件风险iRax1,1,,ciijjiRxPxia(3)1,,minkiiaRaxRax,ka就是最小风险Bayes决策。其中(1)中先验概率jP根据自行输入,类条件概率密度jPx=112211exp()22TdPxxuxu,本实验为二维二类,故d=2,(2)中决策表自行输入。四、实验结果及分析总结(1)用最小错误率Bayes决策假设身高与体重相关(以训练样本建立判别函数)性别为女生的先验概率P(1)性别为男生的先验概率P(2)训练样本判错的个数N1训练样本的错误率Η1测试样本判错的个数N2测试样本的错误率Η20.10.92424%165.33%0.17(1/6)0.83(5/6)1919%144.67%0.40.61313%248%0.50.51212%3210.67%0.750.251414%6020.00%由表可知:对于训练样本,当女生先验概率为0.5时,判别错误率最小对于测试样本,当女生先验概率为1/6时,判别错误率最小故可推测用最小错误率Bayes决策假设身高与体重相关当女生先验概率等于待测样本中女生样本占待测样本的概率时,错误率最小,且越远离此概率,错误率越大。最佳决策对于训练样本,当女生先验概率为0.5对于测试样本,当女生先验概率为1/6假设身高与体重不相关(以训练样本建立判别函数)性别为女生的先验概率P(1)性别为男生的先验概率P(2)训练样本判错的个数N1训练样本的错误率Η1测试样本判错的个数N2测试样本的错误率Η20.10.91919%165.33%0.170.831414%175.67%0.40.61111%268.67%0.50.51212%299.67%0.750.251313%4515.00%对于训练样本当女生先验概率接近0.5时错误率最小最佳决策对于训练样本,当女生先验概率为0.5(2)用最小风险的Bayes决策当决策表为女生男生判为女生03判为男生20身高体重相关性别为女生的先验概率P(1)性别为男生的先验概率P(2)训练样本判错的个数N1训练样本的错误率Η1测试样本判错的个数N2测试样本的错误率Η20.10.92626%196,33%0.250.751919%155,00%0.40.61414%196,33%0.50.51313%248,00%0.750.251616%4715,67%对于训练样本,当女生先验概率为0.5时,判别错误率最小对于测试样本,当女生先验概率为1/6时,判别错误率最小故可推测用最小风险Bayes决策假设身高与体重相关当女生先验概率等于待测样本中女生样本占待测样本的概率时,错误率最小,且越远离此概率,错误率越大。最佳决策对于训练样本,当女生先验概率为0.5对于测试样本,当女生先验概率为1/6身高体重不相关性别为女生的先验概率P(1)性别为男生的先验概率P(2)训练样本判错的个数N1训练样本的错误率Η1测试样本判错的个数N2测试样本的错误率Η20.10.91818%165.53%0.250.751414%175.67%0.40.61515%227.33%0.50.51111%268.67%0.750.251515%4113.67%最佳决策对于训练样本,当女生先验概率为0.5心得体会拿到大作业题目,我们首先对题目进行了分析,并且根据以前所学过的知识和做过的例题找到了解题方法,然后先制定解题步骤,画出解题流程图。再根据流程图编写出MATLAB代码,最后进行调试,运行,得出结果。整个过程中,我们在编程部分遇到了一些麻烦,但很快我们就通过查找资料解决了这个问题。再给老师审核时,发现我们并没有完完全全达到题目要求,后来我们又再次修改。通过这次大作业,我们从原来拿到题目时的迷茫,到制定出解题方案,再到最后具体操作,体会到了通过自己的努力解决一个问题的快乐,同时,也懂得了遇到任何问题,只要通过认真分析,最终都会得到解决的道理,而且我们也发现审题不清是我们小组的薄弱环节,我们将吸取教训认真读题审题,且当身高体重不相关时,输出的结果可能有问题,还需修改。%Éí¸ßÌåÖØÏà¹Ø,Åбð²âÊÔÑù±¾clc;clearall;%ÊÖ¶¯ÏÈÑé¸ÅÂÊP1=input('Å®ÉúÏÈÑé¸ÅÂÊÊÇ:');P2=input('ÄÐÉúÏÈÑé¸ÅÂÊÊÇ:');%ѵÁ·Ñù±¾[FHFW]=textread('C:\Users\xuyd\Desktop\homework\FEMALE.txt','%f%f');[MHMW]=textread('C:\Users\xuyd\Desktop\homework\MALE.txt','%f%f');FA=[FHFW];FA=FA';MA=[MHMW];MA=MA';a=cov(FA')*(length(FA)-1)/length(FA);b=cov(MA')*(length(MA)-1)/length(MA);W1=-1/2*inv(a);W2=-1/2*inv(b);Ave1=(sum(FA')/length(FA))';Ave2=(sum(MA')/length(MA))';w1=inv(a)*Ave1;w2=inv(b)*Ave2;w10=-1/2*Ave1'*inv(a)*Ave1-1/2*log(det(a))+log(P1);w20=-1/2*Ave2'*inv(b)*Ave2-1/2*log(det(b))+log(P2);%symsa;%symsb;%h=[ab]';%h1=h'*W1*h+w1'*h+w10Åбðº¯Êý%h2=h'*W2*h+w2'*h+w20%²âÊÔÑù±¾[tHtW]=textread('C:\Users\xuyd\Desktop\homework\test2.txt','%f%f%*s');T=[tHtW];T=T';%¶Ô²âÊÔÑù±¾µÄÅбðforj=1:300g1=T(:,j)'*W1*T(:,j)+w1'*T(:,j)+w10;g2=T(:,j)'*W2*T(:,j)+w2'*T(:,j)+w20;ifg1=g2XF(:,j)=T(:,j);elseXM(:,j)=T(:,j);endendn=0;fori=1:50ifXF(1,i)0n=n+1;endendm=0;fork=51:300ifXM(1,k)0m=m+1;endendN=300-m-n;H=N/300;NH%XF%XM%Éí¸ßÌåÖز»Ïà¹ØÅбð²âÊÔÑù±¾clc;clearall;%ÏÈÑé¸ÅÂÊP1=input('Å®ÉúÏÈÑé¸ÅÂÊÊÇ:');P2=input('ÄÐÉúÏÈÑé¸ÅÂÊÊÇ:');%ѵÁ·Ñù±¾[FHFW]=textread('C:\Users\xuyd\Desktop\homework\FEMALE.txt','%f%f');[MHMW]=textread('C:\Users\xuyd\Desktop\homework\MALE.txt','%f%f');FA=[FHFW];FA=FA';MA=[MHMW];MA=MA';a=cov(FA')*(length(FA)-1)/length(FA);b=cov(MA')*(length(MA)-1)/length(MA);a(1,2)=0;a(2,1)=0;b(1,2)=0;b(2,1)=0;W1=-1/2*inv(a);W2=-1/2*inv(b);Ave1=(sum(FA')/length(FA))';Ave2=(sum(MA')/length(MA))';w1=inv(a)*Ave1;w2=inv(b)*Ave2;w10=-1/2*Ave1'*inv(a)*Ave1-1/2*log(det(a))+log(P1);w20=-1/2*Ave2'*inv(b)*Ave2-1/2*log(det(b))+log(P2);%symsa;%symsb;%h=[ab]';%h1=w1'*h+w10Åбðº¯Êý%h2=w2'*h+w20%²âÊÔÑù±¾[tHtW]=textread('C:\Users\xuyd\Desktop\homework\test2.txt','%f%f%*s');T=[tHtW];T=T';%¶Ô²âÊÔÑù±¾µÄÅоöforj=1:300g1=T(:,j)'*W1*T(:,j)+w1'*T(:,j)+w10;g2=T(:,j)'*W2*T(:,j)+w2'*T(:,j)+w20;ifg1=g2XF(:,j)=T(:,j);elseXM(:,j)=T(:,j);endendn=0;fori=1:50ifXF(1,i)0n=n+1;endendm=0;fork=51:300ifXM(1,k)0m=m+1;endendN=300-m-n
本文标题:用身高和体重数据进行性别分类的实验报告
链接地址:https://www.777doc.com/doc-1765178 .html