用身高和体重数据进行性别分类的实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用身高和体重数据进行性别分类的实验报告(二)

一、 基本要求

1、试验非参数估计,体会与参数估计在适用情况、估计结果方面的异同。

2、试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分类器进行比较。

3、体会留一法估计错误率的方法和结果。

二、具体做法

1、在第一次实验中,挑选一次用身高作为特征,并且先验概率分别为男生0.5,女生0.5的情况。改用Parzen 窗法或者k n 近邻法估计概率密度函数,得出贝叶斯分类器,对测试样本进行测试,比较与参数估计基础上得到的分类器和分类性能的差别。

2、同时采用身高和体重数据作为特征,用Fisher 线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用Bayes 方法求得的分类器也画到图上,比较结果的异同。

3、选择上述或以前实验的任意一种方法,用留一法在训练集上估计错误率,与在测试集上得到的错误率进行比较。

三、原理简述及程序框图

1、挑选身高(身高与体重)为特征,选择先验概率为男生0.5女生0.5的一组用Parzen 窗法来求概率密度函数,再用贝叶斯分类器进行分类。 以身高为例

本次实验我们组选用的是正态函数窗,即21()2u u φ⎧⎫

=

-⎨⎬⎩⎭

,窗宽为N h h =h 是调节的参量,N 是样本个数) d

N N

V h =,(d 表示维度)。因为区域是一维的,所以体积为N n V h =。Parzen 公式为()ˆN P x =111N i i N N x x N V h φ=⎛⎫-

⎪⎝⎭

∑。 故女生的条件概率密度为11111111N i

i n x x p N VN h φ=⎛⎫-=

⎪⎝⎭

男生的条件概率密度为21112222N i

i n x x p N VN h φ=⎛⎫

-= ⎪⎝⎭

∑ 根据贝叶斯决策规则()()()()()1122g x p x w p w p x w p w =-知 如果

11*2*(1),p p p p x ω>-∈,否则,2x ω∈。

流程图如下:

2、要求是同时采用身高和体重数据作为特征,用Fisher 线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用Bayes 方法求得的分类器也画到图上,比较结果的异同。

说明,取男生和女生的先验概率分别为0.5,0.5。在设计贝叶斯分类器时,首先求各类样本均值向量,及2,1,1

==∑∈

i x N m i

x i

i ω

,然后求各个样本的来内离散度矩阵,及()()2,1,=--=

∑∈i m x m x s T i

w x i

i i

,再求出样本的总类内离散度,及

()()2211s p s p s ωωω+=,根据公式()211

m m s -=-*ωω求出把二维

X 空

间投影到一维Y 空间的最好的投影方向。再求出一维Y 空间中各类样本均值

2,1,1'==

∑∈

i y N m i

y i

i ω

,其中x y **

=ω,本次实验的分界阈值我们用如下方法得到:2

122110'

'N N m N m N y ++=,最后,将测试样本中的值代入,求出y ,并将其与

y0来进行比较来分类。

根据课本对Fisher 线性判别法的介绍,得到的算法流程图如下:

3、选择上述或以前实验的任意一种方法,用留一法在训练集上估计错误率,与在测试集上得到的错误率进行比较。

这里我们选择Fisher 线性判别法,用留一法来估计它在训练集上的错误率,并

将结果与Fisher线性判别法对测试集进行判别时得到的错误率进行比较。具体流程图如下:

四、实验结果及分析总结

1、得到结果如下表

以身高作为特征

h=4

估计方法女生

先验

概率

男生

先验

概率

男生

错误

个数

女生

错误

个数

总错

男生

错误

女生

错误

总错

误率

以身高与体重作为特征h=7

分析:通过比较可知,在用最大似然估计这种参数估计方法和Parzen这种非参数估计方法来进行分类时,最大似然估计判别的错误率低。

2、得到结果如下

(1)、用Fisher线性判别方法求分类器,将分类器应用到训练和测试样本上,比较其错误率

判别对象男生错

误个数

女生错

误个数

总错误男生错

误率

女生错

误率

总错误

测试样

27 2 29 10.8% 4% 9.67%

训练样

8 4 12 16% 8% 12%

分析:用训练样本得到的分类器测试测试样本时错误率低,测试结果较好,但测试训练样本时,其错误率较高,测试结果不好。

(2)、将训练样本和求得的决策边界画到图上

先验概略为0.5,0.5

从图中我们可以直观的比较出对训练样本Fisher判别比最大似然Bayes判别效果更好。

3、留一法测试结果如下:

分析:用留一法在训练样本机上估计错误率时,错误率小于它在测试样本集上得到的错误率,且留一法在测试样本集上女生错误个数远低于男生错误个数。五、体会

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

代码:

%特征是身高,先验概率为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));

相关文档
最新文档