ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:308.04KB ,
资源ID:7724484      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7724484.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(用身高及体重数据进行性别分类实验报告.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

用身高及体重数据进行性别分类实验报告.doc

1、用身高和体重数据进行性别分类的实验报告(二) 一、 基本要求 1、试验非参数估计,体会与参数估计在适用情况、估计结果方面的异同。 2、试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分类器进行比较。 3、体会留一法估计错误率的方法和结果。 二、具体做法 1、在第一次实验中,挑选一次用身高作为特征,并且先验概率分别为男生0.5,女生0.5的情况。改用Parzen窗法或者kn近邻法估计概率密度函数,得出贝叶斯分类器,对测试样本进行测试,比较与参数估计基础上得到的分类器和分类性能的差别。 2、同时采用身高和体重数据作为特征,用Fisher线性判别方法求分类器,将该分类器应用到训

2、练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用Bayes方法求得的分类器也画到图上,比较结果的异同。 3、选择上述或以前实验的任意一种方法,用留一法在训练集上估计错误率,与在测试集上得到的错误率进行比较。 三、原理简述及程序框图 1、挑选身高(身高与体重)为特征,选择先验概率为男生0.5女生0.5的一组用Parzen窗法来求概率密度函数,再用贝叶斯分类器进行分类。 以身高为例 本次实验我们组选用的是正态函数窗,即,窗宽为(h是调节的参量,N是样本个数) ,(d表示维度)。因为区域是一维的,所以体积为。Parzen公式为。 故女生的条件概率密度

3、为 男生的条件概率密度为 根据贝叶斯决策规则知 如果,否则,。 流程图如下: 2、要求是同时采用身高和体重数据作为特征,用Fisher线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用Bayes方法求得的分类器也画到图上,比较结果的异同。 说明,取男生和女生的先验概率分别为0.5,0.5。在设计贝叶斯分类器时,首先求各类样本均值向量,及,然后求各个样本的来内离散度矩阵,及,再求出样本的总类内离散度,及,根据公式求出把二维X空间投影到一维Y空间的最好的投影方向。再

4、求出一维Y空间中各类样本均值,其中,本次实验的分界阈值我们用如下方法得到:,最后,将测试样本中的值代入,求出y,并将其与y0来进行比较来分类。 根据课本对Fisher线性判别法的介绍,得到的算法流程图如下: 3、选择上述或以前实验的任意一种方法,用留一法在训练集上估计错误率,与在测试集上得到的错误率进行比较。 这里我们选择Fisher线性判别法,用留一法来估计它在训练集上的错误率,并将结果与Fisher线性判别法对测试集进行判别时得到的错误率进行比较。 具体流程图如下: 四、实验结果及分析总结 1、得到结果如下表 以身高作为特征 h=

5、4 估计方法 女生先验概率 男生先验概率 男生错误个数 女生错误个数 总错误 男生错误率 女生错误率 总错误率 Parzen窗法 0.25 0.75 22 8 30 16% 8.8% 10% 0.5 0.5 34 4 38 13.6% 8% 12.67% 0.75 0.25 80 2 82 32% 4% 27.33% 最大似然Bayes 0.25 0.75 20 6.667% 0.5 0.5 27 9% 0.75 0.25 60

6、 20% 以身高与体重作为特征 h=7 估计方法 女生先验概率 男生先验概率 男生错误个数 女生错误个数 总错误 男生错误率 女生错误率 总错误率 Parzen窗法 0.25 0.75 7 22 29 14% 8.8% 9.67% 0.5 0.5 38 2 40 15.2% 4% 13.33% 0.75 0.25 2 46 48 18.4% 4% 16% 最大似然Bayes 0.25 0.75 8 6 14 3.2% 12% 4.67% 0.5 0.5 29 3 32

7、 11.6% 6% 10.67% 0.75 0.2 59 1 60 23.6% 2% 20% 分析:通过比较可知,在用最大似然估计这种参数估计方法和Parzen这种非参数估计方法来进行分类时,最大似然估计判别的错误率低。 2、得到结果如下 (1)、用Fisher线性判别方法求分类器,将分类器应用到训练和测试样本上,比较其错误率 判别 对象 男生错误个数 女生错误个数 总错误 男生错误率 女生错误率 总错误率 测试样本 27 2 29 10.8% 4% 9.67% 训练样

8、本 8 4 12 16% 8% 12% 分析:用训练样本得到的分类器测试测试样本时错误率低,测试结果较好,但测试训练样本时,其错误率较高,测试结果不好。 (2)、将训练样本和求得的决策边界画到图上 先验概略为0.5,0.5 从图中我们可以直观的比较出对训练样本Fisher判别比最大似然Bayes判别效果更好。 3、留一法测试结果如下: 判别 对象 男生错误个数 女生错误个数 错误率 测试样本 81 3 28% 训练样本 8 4 12% 分析:用留一法在训练样本机上估

9、计错误率时,错误率小于它在测试样本集上得到的错误率,且留一法在测试样本集上女生错误个数远低于男生错误个数。 五、体会 这次实验,我们组用了接近三天的时间,首先,我们对题目要求进行认真分析,在确保对题目完全理解的基础上,开始一步一步分析,求解。对每个小题,及其每一问,我们都经过查书,查资料,编代码这几个步骤,仔细分析每一步算法,得出流程图。经过第一次作业的编程,本次编程我们都觉得轻松了很多,但还会出现一些细节上的错误,不过,这些在我们经过不断的调试之后都会被发现并解决。总体而言,本次试验,让我们对Parzen窗法求类条件概率密度,以及Fisher线性判别法都有了更大的了解。 代码: %特

10、征是身高,先验概率为0.5、0.5时用Parzen窗法,贝叶斯分类器。 clc; clear all; [FH FW]=textread('C:\Users\xuyd\Desktop\homework\FEMALE.txt','%f%f'); [MH MW]=textread('C:\Users\xuyd\Desktop\homework\MALE.txt','%f%f'); FA=[FH FW]; MA=[MH MW]; N1=max(size(FA)); h1=4; hn1=h1/(sqrt(N1)); VN1=h1/(sqrt(N1)); N2=max(size(M

11、A)); h2=4; hn2=h2/(sqrt(N2)); VN2=h2/(sqrt(N2)); [tH tW]=textread('C:\Users\xuyd\Desktop\homework\test2.txt','%f%f%*s'); X=[tH tW]; [M N]=size(X); s=zeros(M,1); A=[X(:,1) X(:,2) s]; error=0; errorgirl=0; errorboy=0; errorrate=0; errorgirlrate=0; errorboyrate=0; girl=0; boy=0; bad=0;

12、 for k=1:M %测试集 x=A(k); p=0.5;%p为属于女生的先验概率,则1-p为男生的先验概率 for i=1:N1 pp(i)=1/sqrt(2*pi)*exp(-0.5*(abs(x-FA(i)))^2/(hn1^2));%pp(i)是窗函数 end p1=sum(1/VN1*pp'); y1=1/N1*p1;%是女生的条件概率密度函数 for j=1:N2 qq(j)=1/sqrt(2*pi)*exp(-0.5*(abs(x-MA(j

13、)))^2/(hn2^2)); 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 elseif g<0 if k<=50

14、 errorgirl=errorgirl+1; else s(k,1)=1;%判为男生 boy=boy+1; end else s(k,1)=-2;%不能判别是指等于0时的情况 bad=bad+1; end end errorgirl errorboy bad girl=errorboy+girl boy=boy+errorgirl error=errorgirl+errorboy errorgirlrate

15、errorgirl/50 errorboyrate=errorboy/250 errorrate=error/M %特征是身高与体重,先验概率为0.5、0.5时用Parzen窗法,贝叶斯分类器。 clc; clear all; [FH FW]=textread('C:\Users\xuyd\Desktop\homework\FEMALE.txt','%f%f'); [MH MW]=textread('C:\Users\xuyd\Desktop\homework\MALE.txt','%f%f'); FA=[FH FW]; MA=[MH MW]; N1=max(size(

16、FA)); h1=7; hn1=h1/(sqrt(N1)); VN1=hn1^2; N2=max(size(MA)); h2=7; hn2=h2/(sqrt(N2)); VN2=hn2^2; [tH tW]=textread('C:\Users\xuyd\Desktop\homework\test2.txt','%f%f%*s'); X=[tH tW]; [M N]=size(X); s=zeros(M,1); error=0; errorgirl=0; errorboy=0; errorrate=0; errorgirlrate=0; errorboyrat

17、e=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)')/(hn1^2)); pp=pp+n; end p1=1/VN1*pp'; y1=1/

18、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)')/(hn2^2)); 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

19、<=50 s(k,1)=0;%判为女生 girl=girl+1; else errorboy=errorboy+1; end elseif g<0 if k<=50 errorgirl=errorgirl+1; else s(k,1)=1;%判为男生 boy=boy+1; end else s(k,1)=-2;%不能判别是指等于0时的

20、情况 bad=bad+1; end end errorgirl errorboy bad girl=errorboy+girl boy=boy+errorgirl error=errorgirl+errorboy errorgirlrate=errorgirl/50 errorboyrate=errorboy/250 errorrate=error/M %用fisher线性判别法求阈值 function [w,y0]=fisher(AA,BB) A=AA'; B=BB'; [k1,l1]=size(

21、A); [k2,l2]=size(B); M1=sum(AA); M1=M1'; M1=M1/l1;%男生均值向量 M2=sum(BB); M2=M2'; M2=M2/l2;%女生均值向量 S1=zeros(k1,k1);%建立矩阵 S2=zeros(k2,k2); for i=1:l1 S1=S1+(A(:,i)-M1)*((A(:,i)-M1).');%男生的类内离散度矩阵 end for i=1:l2 S2=S2+(B(:,i)-M2)*((B(:,i)-M2).');%女生的类内离散度矩阵 end Sw=0.5*S1+0.5*S2;%总类

22、内离散度矩阵,先验概率0.5 w=inv(Sw)*(M1-M2);%两列 wT=w';%wT就是使Fisher准则函数JF(w)取极大值时的解,也就是d维X空间到1维Y空间的最好的投影方向 for i=1:l1 Y1(i)=wT(1,1)*A(1,i)+wT(1,2)*A(2,i);%求出二维男生样本集映射到一维时的量 end for i=1:l2 Y2(i)=wT(1,1)*B(1,i)+wT(1,2)*B(2,i);%求出二维女生样本集映射到一维时的量 end m1=sum(Y1)/l1; m2=sum(Y2)/l2; y0=(l1*m1+l2*m2)

23、/(l1+l2);% %用fisher线性判别函数来判断 clc clear all [filename,pathname,filterindex] = uigetfile('*.txt', '请读入男生训练集'); fileAddrs = [pathname,filename]; [A1 A2]=textread(fileAddrs,'%f%f'); [filename,pathname,filterindex] = uigetfile('*.txt', '请读入女生训练集'); fileAddrs = [pathname,filename]; [B1 B2]=textre

24、ad(fileAddrs,'%f%f'); AA=[A1 A2]; BB=[B1 B2]; [w,y0]=fisher(AA,BB); wT=w'; girl=0; boy=0; bad=0; errorgirl=0; errorboy=0; error=0; errorgirlrate=0; errorboyrate=0; errorrate=0; [filename,pathname,filterindex] = uigetfile('*.txt', '请读入测试集'); fileAddrs = [pathname,filename]; [T1 T2]=t

25、extread(fileAddrs,'%f%f%*s'); TT=[T1 T2];T=TT'; [k3 l3]=size(T); for k=1:50 y(k)=wT*T(:,k); if y(k)>y0 errorgirl=errorgirl+1; else if y(k)

26、 if y(k)>y0 boy=boy+1; else if y(k)

27、rrorrate=error/l3 %画图 [filename,pathname,filterindex] = uigetfile('*.txt', '请读入男生训练集'); fileAddrs = [pathname,filename]; [A1 A2]=textread(fileAddrs,'%f%f'); [filename,pathname,filterindex] = uigetfile('*.txt', '请读入女生训练集'); fileAddrs = [pathname,filename]; [B1 B2]=textread(fileAddrs,'%f%f');

28、 AA=[A1 A2]; BB=[B1 B2]; A=AA'; B=BB'; [k1,l1]=size(A); [k2,l2]=size(B); [w,y0]=fisher(AA,BB); for i=1:l1 x=A(1,i); y=A(2,i);%x是身高,y是体重 plot(x,y,'R.'); hold on end for i=1:l2 x=B(1,i); y=B(2,i); plot(x,y,'G.'); hold on end a1=min(A(1,:));%男生身高最小值

29、a2=max(A(1,:));%男生身高最大值 b1=min(B(1,:));%女生身高最小值 b2=max(B(1,:));%女生身高最大值 a3=min(A(2,:));%男生体重最小值 a4=max(A(2,:));%男生体重最大值 b3=min(B(2,:));%女生体重最小值 b4=max(B(2,:));%女生体重最大值 if a1b2 b=a2; else b=b2;%b是所有人中身高最大值 end if a3

30、a3; else c=b3;%c是所有人中体重最小值 end if a4>b4 d=a4; else d=b4;%d为所有人中体重最大值 end x=a:0.01:b; y=(y0-x*w(1,1))/w(2,1); plot(x,y,'B'); hold on; %身高体重相关,判别测试样本 %手动先验概率 P1=0.5; P2=0.5; FA=A; MA=B; a=cov(FA')*(length(FA)-1)/length(FA); b=cov(MA')*(length(MA)-1)/length(MA); W1=-1/

31、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); syms x ; syms y ; h=[x y]'; h1=h'*W1*h+w1'*h+w10;

32、h2=h'*W2*h+w2'*h+w20 ; h=h1-h2; ezplot(h,[130,200,30,100]) %功能:应用Fisher准则判断一个身高体重二维数据的性别 vector=[x;y]; yy=(w.')*vector; if yy>y0 value=2;%表示样本是男生 else value=1;%表示样本是女生 end %功能:使用留一法求训练样本错误率 [A1 A2]=textread('C:\Users\Administrator\Desktop\模式识别\homework\MALE.txt','%f%f');

33、 [B1 B2]=textread('C:\Users\Administrator\Desktop\模式识别\homework\FEMALE.txt','%f%f'); AA=[A1 A2]; BB=[B1 B2]; A=AA'; B=BB'; m1=2; m2=2; n1=50; n2=50; tempA=zeros(m1,n1-1); count=0; for i=1:n1 for j=1:(i-1) tempA(:,j)=A(:,j); end for j=(i+1):n1 tempA(:,j-1)=

34、A(:,j); end [w,y0]=fisher((tempA.'),BB); flag=classify_CH(A(1,i),A(2,i),w,y0); if flag==1 count=count+1; end end tempB=zeros(m2,n2-1); for i=1:n2 for j=1:(i-1) tempB(:,j)=B(:,j); end for j=(i+1):n2 tempB(:,j-1)=B(:,j); end

35、 [w,y0]=fisher(AA,(tempB.')); flag=classify_CH(B(1,i),B(2,i),w,y0); if flag==2 count=count+1; end end error_ratio=count/(n1+n2) %使用留一法求测试样本错误率 [T1 T2]=textread('C:\Users\Administrator\Desktop\模式识别\homework\test2.txt','%f%f%*s'); TT=[T1 T2]; T=TT'; [k3 l3]=size(T); T

36、G=zeros(2,50); TB=zeros(2,250); for i=1:50 TG(:,i)=T(:,i); end for j=51:l3 TB(:,j-50)=T(:,j); end m1=2; m2=2; n1=50; n2=250; tempA=zeros(m1,n1-1); count=0; for i=1:n1 for j=1:(i-1) tempA(:,j)=TG(:,j); end for j=(i+1):n1 tempA(:,j-1)=TG(:,j);

37、 end [w,y0]=fisher((tempA.'),TB'); flag=classify_CH(TG(1,i),TB(2,i),w,y0); if flag==1 count=count+1; end end tempB=zeros(m2,n2-1); for i=1:n2 for j=1:(i-1) tempB(:,j)=TB(:,j); end for j=(i+1):n2 tempB(:,j-1)=TB(:,j); end [w,y0]=fisher(TG',(tempB.')); flag=classify_CH(TB(1,i),TB(2,i),w,y0); if flag==2 count=count+1; end end error_ratio=count/(n1+n2)

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服