
2.13 贝叶斯分类器
贝叶斯分类器是各种分类器中分类错误概率最小,或者在预先给定代价的情况下平均风险最小的分类器。
2.13.1 贝叶斯分类器的基本原理
贝叶斯决策论在相关概率已知的情况下,利用误判损失来选择最优的类别分类。
假设有N种可能的分类标记,记为,那么样本x属于哪一类?
计算步骤如下。
(1)算出样本x属于第i个类的概率,即。
(2)通过比较所有的,得到样本x所属的最佳类别。
(3)将类别ci和样本x代入到贝叶斯公式中,得到:

一般来说,P(ci)为先验概率,为条件概率,P(x)是用于归一化的证据因子。对于P(ci)可以通过训练样本中类别为ci的样本所占的比例进行估计;此外,因为只需要找出最大的
,所以并不需要计算P(x)。
为了求解条件概率,我们基于不同假设提出了不同的方法,接下来将介绍朴素贝叶斯分类器和半朴素贝叶斯分类器。
2.13.2 朴素贝叶斯分类器
假设样本X包含d个属性,即。于是有:

这个联合概率难以从有限的训练样本中直接估计得到。于是,朴素贝叶斯(Naive Bayesian,简称NB)采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。于是有:

这样就可以很容易地推导出相应的判定准则,得到样本所属的最佳类别:

如果xj是标签属性,那么结合贝叶斯公式,可以通过计数的方法估计条件概率

其中,表示在训练样本中xj与ci共同出现的次数。
如果xj是数值属性,那么通常假设类别中ci的所有样本第j个属性的值服从正态分布。首先估计这个分布的均值μ和方差σ,然后计算xj在这个分布中的概率密度。
2.13.3 举例理解朴素贝叶斯分类器
本节将通过一个例子来帮助读者理解朴素贝叶斯分类器,首先看一下经典的西瓜训练集,如表2-21所示。
表2-21 经典的西瓜训练集

测试用例如表2-22所示,先将测试例进行如下分类。
表2-22 对测试例“测1”进行分类

首先,估计类先验概率P(cj)。

然后,为每个属性估计条件概率(对于连续属性,假定它们服从正态分布)。


于是有

由于0.063>6.80×10-5,因此,朴素贝叶斯分类器将测试样本“测1”判别为“好瓜”。
2.13.4 半朴素贝叶斯分类器
朴素贝叶斯采用了“属性条件独立性假设”,半朴素贝叶斯分类器的基本想法是适当考虑一部分属性间的相互依赖信息。独依赖估计(One-Dependence Estimator,ODE)是半朴素贝叶斯分类器最常用的一种策略。顾名思义,独依赖是假设每个属性在类别之外最多依赖一个其他属性,即:

其中paj为属性xi所依赖的属性,称为xi的父属性。假设父属性paj已知,那么可以使用下面的公式估计:

2.13.5 极大似然估计和贝叶斯估计的联系与区别
极大似然估计和贝叶斯估计是设计贝叶斯分类器的两种参数估计方法。两者的区别如下。
(1)极大似然估计和贝叶斯估计最大区别在于估计的参数不同。最大似然估计要估计的参数被当作固定形式的一个未知变量,然后结合真实数据通过最大化似然函数来求解这个固定形式的未知变量。贝叶斯估计则是将参数视为有某种已知先验分布的随机变量。
(2)计算复杂度不同。极大似然估计只需要使用简单的微分运算即可,而在贝叶斯估计中则需要用到非常复杂的多重积分。
(3)准确性不同。当采用的样本数据很有限时,贝叶斯估计误差更小,贝叶斯估计有很强的理论和算法基础。
2.13.6 极大似然估计原理
极大似然估计的目的是利用已知的样本结果,反推最有可能(最大概率)导致这种结果的参数值。
极大似然估计是建立在极大似然原理的基础上的一个统计方法。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率最大,则称为极大似然估计。
由于样本集中的样本都是独立同分布的,可以只考虑一类样本集D,来估计参数向量θ。记已知的样本集为:

联合概率密度函数p(D|θ)称为相对于x1,x2,…,xn的θ的似然函数(Likelihood Function)。

如果是参数空间中能使似然函数l(θ)最大的值,则
应该是“最可能”的参数值,那么
就是θ的极大似然估计量。它是样本集的函数,记作:

称为极大似然函数估计值。
2.13.7 图解极大似然估计
我们用图来说明极大似然估计的原理,如图2-22所示。

图2-22 极大似然估计原理示例图
如图2-22所示,有两个外形完全相同的箱子,1号箱中有99只白球,1只黑球;2号箱中有1只白球,99只黑球。在一次实验中取出黑球,请问是从哪个箱子中取出的?
人们通常会猜测这只黑球最像是从2号箱取出的,此时描述的“最像”就有“极大似然”的意思,这种想法常称为“极大似然原理”。