贝叶斯分类器

本文摘抄自《机器学习》一书,作者:周志华

  • 贝叶斯分类器

对分类任务来说,在所有相关概率都已知的理想条件下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。以多分类任务为例进行解释。

假设有N种可能的类别标记(好瓜或者坏瓜等类别),即贝叶斯分类器贝叶斯分类器 是将一个真实分类为贝叶斯分类器的样本误分类为贝叶斯分类器所产生的损失。基于后验概率贝叶斯分类器可获得将样本x分类为贝叶斯分类器所产生的期望损失,即在样本x上的条件风险:

                                                                   贝叶斯分类器

因此我们需要寻找一个判定准则h,以最小化总体风险:

                                                                   贝叶斯分类器

显然,对于每个样本x,若h能最小化条件风险贝叶斯分类器,则总体风险贝叶斯分类器也将被最小化。这就产生了贝叶斯准则:为最小化总体风险,只需在每个样本上选择那个能使条件风险贝叶斯分类器最小的类别标记,即:

                                                                    贝叶斯分类器

此时贝叶斯分类器称为贝叶斯最优分类器,与之对应的总体风险贝叶斯分类器称为贝叶斯风险。

具体来说,若目标是最小化分类错误率,则误判损失贝叶斯分类器可写为贝叶斯分类器,此时条件风险为:

                                                                   贝叶斯分类器

于是,最小化分类错误率的贝叶斯最优分类器为:

                                                                   贝叶斯分类器

因此,想要使用贝叶斯判定准则来最小化决策风险,首先要获取后验概率贝叶斯分类器。然而在现实任务中这通常难以直接获得。从这个角度来看,机器学习所要实现的是基于有限的训练样本尽可能准确的估计出后验概率贝叶斯分类器总体来说,主要有两种策略:给定x,可通过直接建模贝叶斯分类器来预测c,这样得到的是“判别式模型”(决策树、BP神经网络、支持向量机)。也可先对联合概率分布贝叶斯分类器建模,然后再由此获得贝叶斯分类器这样得到的是“生成式模型”(贝叶斯)。接下来我们介绍生成式模型:

                                                                         贝叶斯分类器

基于贝叶斯定理,贝叶斯分类器可写为:

                                                                         贝叶斯分类器

其中,贝叶斯分类器是类(即类别,如好瓜、坏瓜等)先验概率,贝叶斯分类器是样本x相对于类标记c的类条件概率,或称为“似然”。贝叶斯分类器是用于归一化的证据因子,对给定样本x,证据因子贝叶斯分类器与类标记无关。因此估计贝叶斯分类器的问题就转化为如何基于训练数据D来估计先验概率贝叶斯分类器和似然贝叶斯分类器

类先验概率贝叶斯分类器表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时,贝叶斯分类器可通过各类样本出现的频率进行估计。对类条件概率贝叶斯分类器来说,由于他涉及关于x所有属性的联合概率,直接根据样本出现的频率进行估计将会遇到严重的困难,因此我们使用极大似然估计,具体介绍可参看我的另一篇博客

朴素贝叶斯分类器

基于贝叶斯公式估计后验概率贝叶斯分类器的主要困难在于:类条件概率贝叶斯分类器是所有属性上的联合概率,难以从有限的训练样本直接估计得到,为了避开这个障碍,朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。

基于属性条件独立性假设,贝叶斯公式可重写为:

                                                          贝叶斯分类器

其中d是属性数目,贝叶斯分类器为x在第i个属性上的取值。

对于所有类别来说贝叶斯分类器相同,因此朴素贝叶斯表达式为:

                                                                贝叶斯分类器

显然,朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率贝叶斯分类器,并为每个属性估计条件概率贝叶斯分类器

贝叶斯分类器表示训练集D中第c类样本组成的集合,若有充足的独立同分布样本,则可容易的估计出类先验概率:

                                                                                   贝叶斯分类器

离散属性而言,令贝叶斯分类器表示贝叶斯分类器中在第i个属性上取值为贝叶斯分类器的样本组成的集合,则条件概率贝叶斯分类器可估计为:

                                                                                  贝叶斯分类器

对连续属性而言可考虑概率密度函数,假定贝叶斯分类器~贝叶斯分类器,其中贝叶斯分类器贝叶斯分类器分别是第c类样本在第i个属性上取值的均值和方差,则有:

                                                               贝叶斯分类器

下面我们用西瓜数据集训练一个朴素贝叶斯分类器,并对一个测试例进行分类:

贝叶斯分类器
已知西瓜数据集
贝叶斯分类器
测试例

贝叶斯分类器

贝叶斯分类器

为了避免其他属性携带的信息被训练集中未出现的属性值抹去,在估计概率值时通常要进行平滑,常用“拉普拉斯修正”。具体来说,令N表示训练集D中可能的类别数,贝叶斯分类器表示第i个属性可能的取值数,则类先验概率和条件概率的式子可修正为:

                                                                      贝叶斯分类器

                                                                    贝叶斯分类器

显然,拉普拉斯修正避免了瘾训练集样本不充分导致概率估值为0的问题,并且在训练集变大时,修正过程所引入的先验的影响会逐渐变的可忽略。

  • 半朴素贝叶斯分类器

为了降低贝叶斯公式中估计后验概率贝叶斯分类器的困难,朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中这个假设往往很难成立。于是产生了“半朴素贝叶斯分类器”。

半朴素贝叶斯分类器的基本思想是适当考虑一部分属性间的相互依赖信息,从而即不需进行完全联合的概率计算,又不至于彻底忽略了比较强的属性依赖关系。“独依赖估计”(简称:ODE)是半朴素贝叶斯分类器最常使用的一种策略。顾名思义,所谓“独依赖”就是假设每个属性在类别之外最多仅依赖一个其他属性,即:

                                                              贝叶斯分类器

其中贝叶斯分类器为属性贝叶斯分类器所依赖的属性,称为贝叶斯分类器的父属性。此时,对每个属性贝叶斯分类器,若其父属性贝叶斯分类器已知,就可以估计概率值贝叶斯分类器。于是,问题的关键就转化为如何确定每个属性的父属性,不同的做法产生不同的独依赖分类器。

主要有三种独依赖分类器:SPODE、TAN、AODE