基于朴素贝叶斯的文本分类

Posted yanglive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于朴素贝叶斯的文本分类相关的知识,希望对你有一定的参考价值。

前言:学习机器学习的过程意识到,数学是工科的基石。很多数学公式似懂非懂,因此有了这篇博客,想在学习每个模型的过程中搞懂其中的数学理论。

贝叶斯决策论

1.前置知识:先验概率与后验概率

  • 先验概率P(B):根据以往经验和分析得到的概率

  先验概率是一种常识性、经验性认知,比如抛硬币正反面的概率是1/2。

  • 后验概率P(A|B):某个因素的到来影响了对某个结果发生可能性的判断

  后验概率是基于已知,对结果发生的可能性一种推测。

比如:文本分类中,假设文章类别为3类,没有数据时,观测到类别c的概率是先验概率P(c),数据x的到来改变这个概率为P(c|x),是数据支持这个类发生的可能性,以此作为数据所属类别。这就是后验概率。


2.贝叶斯分类器

  • 2.1.贝叶斯公式:

  技术图片(公式1)

 

  其中,P(C|X)是根据样本X对类别C的预测值。P(C)是类先验概率,它表示为某类样本在总样本中出现的可能性,对于某个样本,P(X)与样本分类无关。因此,求贝叶斯公式的关键在于求类条件概率P(X|C)。

  • 2.2.对数极大似然估计

  似然即类条件概率P(X|C),假设P(X|C)被参数向量θc唯一确定,则参数θc对数据样本某类类别为C的训练样本Dc的似然可以表示为:

   技术图片(公式2)

   对θc进行极大似然估计,就是去寻找最大化似然P(Dcc)的参数技术图片。在文本分类的实际问题中,表现为寻找一个最可能使数据Dc出现的类别,即:为数据Dc找到最可能的分类。

   在公式2中,因为每个文本类别的属性值往往有多个,这种连乘操作容易造成下溢,因此需要估计对数似然:技术图片

  技术图片(公式3)

   此时,多个属性的连乘就通过对数函数表现为相加。

   此时,对参数θc的极大似然估计表现为: 技术图片(公式4)

  • 2.3.朴素贝叶斯分类器

  在实际分类问题中,样本的属性有可能是互相关联的,比如:x1的出现有可能会影响到x2的出现。对于类条件概率P(X|C),它涉及X中所有属性的联合概率,直接根据样本频率去估计,假设有d个属性,假设每个属性有n种可能取值,样本空间则有nd种排列,远远大于训练样本数。难以从有限样中估计得到。

  朴素贝叶斯分类器的“朴素”之处在于:假设这些属性都是独立的。即每个属性都独立的对结果造成影响。基于这种思想,贝叶斯公式可以改写为:

  技术图片(公式5)

   对于所有类别来说,P(x)相同,不起作用。所以,朴素贝叶斯公式的准则可以进一步表达为:

  技术图片(公式6)

   其中,hnb(x)为错误率,它就等于最大化似然。


3.朴素贝叶斯文本分类

在文本分类中,各成员的实际意义表示为:

技术图片技术图片

 此时有一个问题:假设测试样本中某个单词在训练样本中没有出现过,那么似然估计结果为0,会导致估计错误。因此需要对数据做拉普拉斯平滑处理。处理过程如下:

技术图片技术图片

这样就有效解决了某个出现新词语导致的连乘结果为0的问题。


以上是关于基于朴素贝叶斯的文本分类的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:朴素贝叶斯的python实现

基于朴素贝叶斯的乳腺癌数据集分类

使用高斯朴素贝叶斯的多类分类

基于朴素贝叶斯的wine数据集分类预测-机器学习实验四-朴素贝叶斯

基于的朴素贝叶斯的文本分类(附完整代码(spark/java)

朴素贝叶斯的理解