朴素贝叶斯分类

Naive Bayes Classifier

典型的生成学习方法:训练数据学习联合概率分布,求得后验概率分布。(概率估计方法可以是极大似然估计或贝叶斯估计)

是一类基于贝叶斯定理的简单高效的分类算法。其核心建立在一个“朴素”的假设之上:给定类别时,所有特征之间相互独立。尽管这个假设在现实中几乎不成立,但它在许多应用中(尤其是文本分类) 取得了巨大成功。

贝叶斯方法

贝叶斯公式为基础的分类方法

P(BiA)=P(ABi)P(A)=P(Bi)P(ABi)i=1nP(ABi)P(Bi)

一、核心思想:后验概率最大化

对于一个给定的样本 X=(x1,x2,,xn),朴素贝叶斯分类的目标是找到使其后验概率 P(Ck|X) 最大的那个类别 Ck

根据贝叶斯定理

P(Ck|X)=P(X|Ck)P(Ck)P(X)

由于对于所有类别 CkP(X) 的值都是相同的,因此在比较不同类别的后验概率时,可以忽略分母。我们的目标简化为最大化分子:

C^=argmaxCkP(X|Ck)P(Ck)

朴素贝叶斯

基本假设是条件独立性,朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测

实际应用

拉普拉斯平滑的方法:我们为每个计数加1,因此它永远不会为零。为了平衡这一点,我们将可能单词的数量添加到除数中,因此计算结果永远不会大于1

Note

二、“朴素”的假设:特征条件独立

这里就是“朴素”一词的来源。我们假设所有特征 xi 在给定类别 Ck 的情况下是条件独立的。这意味着:

P(X|Ck)=P(x1,x2,,xn|Ck)=i=1nP(xi|Ck)

这个假设极大地简化了似然的计算。将此代入分类准则,我们得到最终的朴素贝叶斯分类器公式:

C^=argmaxCkP(Ck)i=1nP(xi|Ck)
对数技巧

在实际计算中,多个小于 1 的概率相乘容易导致浮点数下溢。因此,通常会对上式取对数,将乘法变为加法,从而提高计算稳定性:

C^=argmaxCk(logP(Ck)+i=1nlogP(xi|Ck))

三、朴素贝叶斯的三种主要模型

根据特征数据的不同分布,朴素贝叶斯可以分为三种主要模型:

  1. 高斯朴素贝叶斯 (Gaussian Naive Bayes)

    • 适用场景: 特征是连续值(如身高、体重)。
    • 假设: 假设每个特征在每个类别下都服从高斯分布。
    • 似然计算:P(xi|Ck)=12πσk,i2exp((xiμk,i)22σk,i2)其中 μk,iσk,i2 是类别 Ck 中特征 xi 的均值和方差。
  2. 多项式朴素贝叶斯 (Multinomial Naive Bayes)

    • 适用场景: 特征是离散的计数值(如文本分类中单词的出现次数)。
    • 假设: 特征向量服从多项式分布。
    • 似然计算:P(xi|Ck)=Nk,i+αNk+α|V|其中 Nk,i 是类别 Ck 中特征 xi 的总数,Nk 是类别 Ck 中所有特征的总数, |V| 是词汇表大小,α 是平滑参数。
  3. 伯努利朴素贝叶斯 (Bernoulli Naive Bayes)

    • 适用场景: 特征是二元的(0 或 1),表示某项是否存在(如文本分类中单词是否出现)。
    • 假设: 每个特征服从独立的伯努利分布。
    • 似然计算: 主要计算在类别 Ck 中,特征 xi 出现(P(xi=1|Ck))和不出现(P(xi=0|Ck))的概率。

四、拉普拉斯平滑 (Laplace Smoothing)

为了防止因某个特征在训练集中未出现于某个类别中,导致其条件概率 P(xi|Ck) 为 0,从而使整个后验概率为 0 的问题,我们引入平滑技术。

Laplace Smoothing 是一种常用的平滑方法,它为所有计数值加一个小的平滑参数 αα=1 时称为拉普拉斯平滑,α<1 时称为 Lidstone 平滑)。

P(xi|Ck)=count(xi,Ck)+αcount(Ck)+α|V|

五、优缺点分析

优点 (Pros) 缺点 (Cons)
简单高效:实现简单,训练和预测速度快。 特征独立性假设过强:与现实情况不符。
对小规模数据表现好:在数据较少时依然有效。 对输入数据形式敏感:需要为特征选择合适的模型。
适用于大规模数据集:尤其在文本分类中表现出色。 分类精度可能受限:在特征关联性强时表现不佳。

六、相关链接