统计学习_朴素贝叶斯分类器实验报告

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

作业6

编程题实验报告

(一)实验内容:

编程实现朴素贝叶斯分类器,假设输入输出都是离散变量。用讲义提供的训练数据进行试验,观察分类器在

121.x x m ==时,输出如何。如果在分类器中加入Laplace 平滑(取∂=1)

,结果是否改变。 (二)实验原理:

1)朴素贝叶斯分类器:

对于实验要求的朴素贝叶斯分类器问题,假设数据条件独立,于是可以通过下式计算出联合似然函数:

12(,,)()D i i p x x x y p x y =∏

其中,()i p x y 可以有给出的样本数据计算出的经验分布估计。

在实验中,朴素贝叶斯分类器问题可以表示为下面的式子:

~1*arg max ()()D

i y i y p y p x y ==∏ 其中,~

()p y 是从给出的样本数据计算出的经验分布估计出的先验分布。

2)Laplace 平滑:

在分类器中加入Laplace 平滑目的在于,对于给定的训练数据中,有可能会出现不能完全覆盖到所有变量取值的数据,这对分类器的分类结果造成一定误差。

解决办法,就是在分类器工作前,再引入一部分先验知识,让每一种变量去只对应分类情况与统计的次数均加上Laplace 平滑参数∂。依然采用最大后验概率准则。

(三)实验数据及程序:

1)实验数据处理:

在实验中,所用数据中变量2x 的取值,对应1,2,3s m I ===

讲义中所用的两套数据,分别为cover all possible instances 和not cover all possible instances 两种情况,在实验中,分别作为训练样本,在给出测试样本时,输出不同的分类结果。

2)实验程序:

比较朴素贝叶斯分类器,在分类器中加入Laplace 平滑(取∂=1)两种情况,在编写matlab 函数时,只需编写分类器中加入Laplace 平滑的函数,朴素贝叶斯分类器是∂=0时,特定的Laplace 平滑情况。

实现函数:[kind] =N_Bayes_Lap(X1,X2,y,x1,x2,a)

输入参数:X1,X2,y 为已知的训练数据;

x1,x2为测试样本值;

a 为调整项,当a=0时,就是朴素贝叶斯分类器,a=1时,为分类器中加入Laplace 平滑。 输出结果:kind ,输出的分类结果。

(四)实验结果分析和讨论:

1)实验结果:

对于讲义中的两套训练数据,分别得到分类器在121.x x m ==时,朴素贝叶斯分类器,以及分类器中加入Laplace 平滑(取∂=1),结果为:

a) 不存在Missing values 时:

X1=[1;1;1;1;1;2;2;2;2;2;3;3;3;3;3];

X2=[1;2;2;1;1;1;2;2;3;3;3;2;2;3;3];

y=[-1;-1;1;1;-1;-1;-1;1;1;1;1;1;1;1;-1];

平滑前:y=-1,平滑后:y=1。

b) 存在Missing values 时:

X1=[1;1;1;1;1;2;2;2;2;2;3];

X2=[1;2;2;1;1;1;2;2;3;3;3];

y=[-1;-1;1;1;-1;-1;-1;1;1;1;1];

平滑前:y=-1,平滑后:y=-1。

结果并未改变。

2)分析和讨论:

在分类器中加入Laplace 平滑,在引入一部分先验知识的基础上,对分类器的判决性能是没有破坏的,相反的,在训练样本不能完全覆盖到所有变量取值的情况下,可以帮助分类器做出更好的判决。

相关文档
最新文档