--1--作业1用身高和/或体重数据进行性别分类(一)基本要求:用FAMALE.TXT和MALE.TXT的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。具体做法:1.应用单个特征进行实验:以(a)身高或者(b)体重数据作为特征,在正态分布假设下利用最大似然法或者贝叶斯估计法估计分布密度参数,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到测试样本,考察测试错误情况。在分类器设计时可以考察采用不同先验概率(如0.5对0.5,0.75对0.25,0.9对0.1等)进行实验,考察对决策规则和错误率的影响。图1-先验概率0.5:0.5分布曲线图2-先验概率0.75:0.25分布曲线图3--先验概率0.9:0.1分布曲线图4不同先验概率的曲线有图可以看出先验概率对决策规则和错误率有很大的影响。程序:bayesflq1.m和bayeszcx.m2.应用两个特征进行实验:同时采用身高和体重数据作为特征,分别假设二者相关或不相--2--关(在正态分布下一定独立),在正态分布假设下估计概率密度,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到训练/测试样本,考察训练/测试错误情况。比较相关假设和不相关假设下结果的差异。在分类器设计时可以考察采用不同先验概率(如0.5vs.0.5,0.75vs.0.25,0.9vs.0.1等)进行实验,考察对决策和错误率的影响。训练样本female来测试图1先验概率0.5vs.0.5图2先验概率0.75vs.0.25图3先验概率0.9vs.0.1图4不同先验概率对测试样本1进行试验得图--3--对测试样本2进行试验--4--有图可以看出先验概率对决策规则和错误率有很大的影响。程序bayesflq2.m和bayeszcx2.m3.自行给出一个决策表,采用最小风险的Bayes决策重复上面的某个或全部实验。设以ceshi1单个特征身高进行试验:决策表W1W2W100.7W20.30--5--closeall;clearall;X=120:0.1:200;%设置采样范围及精度pw1=0.9;pw2=0.1;%设置先验概率sample1=textread('FEMALE.txt')%读入样本samplew1=zeros(1,length(sample1(:,1)));u1=mean(sample1(:,1));m1=std(sample1(:,1));y1=normpdf(X,u1,m1);%类条件概率分布figure(1);subplot(2,1,1);plot(X,y1);title('F身高类条件概率分布曲线');sample2=textread('MALE.txt')%读入样本samplew2=zeros(1,length(sample2(:,1)));u2=mean(sample2(:,1));m2=std(sample2(:,1));y2=normpdf(X,u2,m2);%类条件概率分布subplot(2,1,2);plot(X,y2);title('M身高类条件概率分布曲线');P1=pw1*y1./(pw1*y1+pw2*y2);P2=pw2*y2./(pw1*y1+pw2*y2);figure(2);subplot(2,1,1);plot(X,P1);title('F身高后验概率分布曲线');subplot(2,1,2);plot(X,P2);title('M身高后验概率分布曲线');--6--P11=pw1*y1;P22=pw2*y2;figure(3);subplot(3,1,1);plot(X,P11);subplot(3,1,2);plot(X,P22);subplot(3,1,3);plot(X,P11,X,P22);sample=textread('allsample.txt')%读入样本[result]=bayes(sample1(:,1),sample2(:,1),pw1,pw2);%bayes分类器function[result]=bayes(sample1(:,1),sample2(:,1),pw1,pw2);error1=0;error2=0;u1=mean(sample1(:,1));m1=std(sample1(:,1));y1=normpdf(X,u1,m1);%类条件概率分布u2=mean(sample2(:,1));m2=std(sample2(:,1));y2=normpdf(X,u2,m2);%类条件概率分布P1=pw1*y1./(pw1*y1+pw2*y2);P2=pw2*y2./(pw1*y1+pw2*y2);fori=1:50ifP1(i)>P2(i)result(i)=0;pe(i)=P2(i);elseresult(i)=1;pe(i)=P1(i);end--7--endfori=1:50ifresult(k)==0error1=error1+1;elseresult(k)=1error2=error2+1;endendratio=error1+error2/length(sample);%识别率,百分比形式sprintf('正确识别率为%.2f%%.',ratio)作业2用身高/体重数据进行性别分类(二)基本要求:试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分离器进行比较。具体做法:同时采用身高和体重数据作为特征,用Fisher线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用Bayes方法求得的分类器也画到图上,比较结果的...