【Machine Learning in Action --4】朴素贝叶斯分类

1、概述

朴素贝叶斯分类是贝叶斯分类器的一种,贝叶斯分类算法是统计学的一种分类方法,利用概率统计知识进行分类,其分类原理就是利用贝叶斯公式根据某对象的先验 概率计算出其后验概率(即该对象属于某一类的概率),然后选择具有最大后验概率的类作为该对象所属的类。总的来说:当样本特征个数较多或者特征之间相关性较大时,朴素贝叶斯分类效率比不上决策树模型;当各特征相关性较小时,朴素贝叶斯分类性能最为良好。另外朴素贝叶斯的计算过程类条件概率等计算彼此是独立的,因此特别适于分布式计算。本文详述了朴素贝叶斯分类的统计学原理,并在文本分类中实现了该算法。朴素贝叶斯分类器用于文本分类时有多项式模型(词袋)和贝努利模型(词集)两种。

2、贝叶斯决策理论

对于随机试验E有两个随机事件A,B,且P(B) > 0 那么在B事件发生的条件下A发生的概率为:
naive-bayes
其中P(AB)为A,B两个事件的联合概率。对上式利用乘法公式可以变形为:
naive-bayes-1
这样就得到了贝叶斯公式。贝叶斯文本分类就是基于这个公式,利用先验概率来得到文本的分类。
naive-bayes-2
其中P(Ci) 为第i个文本类别出现的概率, P(w1,w2…wn|Ci) 为文本类别为Ci时出现特征向量(w1,w2…wn)的概率,P(w1,w2…wn)为特征向量出现的概率。一般的会假设特征词,在文本中出现的概率是独立的,也就是说词和词之间是不相关的,那么这时候的联合概率就可以表示为乘积的形式,如 下:
naive-bayes-3 (1)
对于特定的训练集合来说,上式中P(w1)P(w2)…P(wn)是一个固定的常数,那么在进行分类计算的时候可以省略掉这个分母的计算,如是得到贝叶斯准则: naive-bayes-4
(2)

事例解释

假设现在有一个装了7块石头的罐子,其中3块是灰色的,4块是黑色的,如果从罐子中随机取出一块石头,那么灰色石头的可能性是3/7,黑色石头的可能性是4/7;如果这7块石头放在两个桶中,A桶有2块灰色、2块黑色,B桶有1块灰色、2块黑色,这里就涉及到条件概率,假定计算的是从B桶取到灰色石头的概率,这个概率可以记作P(gray|bucketB),我们称之为“在已知石头出自B桶的条件下,取出灰色石头的概率”,那么P(gray|buketA)=2/4,P(gray|buketB)=1/3

条件概率的公式如下:

P(gray|buketB)=P(gray and buketB)/P(buketB)

解释:首先用B桶中灰色石头的个数除以总石头数,得到P(gray and buketB)=1/7,其次由于B桶中有3块石头,而总石头数为7,于是P(buketB)=3/7,于是有P(gray|buketB)=P(gray and buketB)/P(buketB)=1/3

使用条件概率来分类

通过(1)式可以得到贝叶斯分类准则为:

如果P(C1|w1,w2,...)>P(C2|w1,w2,...),那么属于类别C1;

如果P(C1|w1,w2,...)<P(C2|w1,w2,...),那么属于类别C2。

3、朴素贝叶斯进行文档分类

朴素贝叶斯是贝叶斯决策理论的一部分。机器学习的一个重要应用就是文档的自动分类。在文档分类中,整个文档(如一封电子邮件)实例,而电子邮件中的某些元素则构成特征,虽然电子邮件是一种会不断增加的文本,但我们同样也可以对新闻报道、用户留言、政府公文等其他任意类型的文本进行分类。我们可以观察文档中出现的词,并把每个词的出现或者不出现作为一个特征,这样得到的特征数目就会跟词汇表中的词目一样多。朴素贝叶斯是用于文档分类常用算法。

朴素贝叶斯的假设:

(1)文档中的特征之间相互独立:即一个特征或者单词出现的可能性与它和其他单词相邻没有关系,举例讲,假设单词bacon出现在unhealthy后面与出现在delicious后面的概率相同。当然,这种假设并不正确,bacon常常出现在delicious附近,这个假设正是朴素贝叶斯分类器中的朴素(native)一词的含义。

(2)文档中的每个特征同等重要,其实这个假设也是有问题的,举例讲,如果要判断留言板的留言是否得到,那么可能不需要看完所有的1000个单词,而只需要看10~20个特征就足以做出判断。

尽管上述假设存在一些小的瑕疵,但朴素贝叶斯的实际效果却很好。

4、朴素贝叶斯的一般过程

(1)收集数据:可以使用任何方法。本章使用RSS源。

(2)准备数据:需要数值型或者布尔型数据。

(3)分析数据:有大量特征时。绘制特征作用不大,此时使用直方图效果更好

(4)训练算法:计算不同的独立特征的条件概率。

(5)测试算法:计算错误绿。

(6)使用算法:一个常见的朴素贝叶斯应用是文档分类。可以在任意的分类场景中使用朴素贝叶斯分类器,不一定非要是文本。

5、朴素贝叶斯优缺点

优点:在数据较少的情况下仍然有效,可以处理多类别问题。

缺点:对于输入数据的准备方式较为敏感。

适用数据类型:标称型数据

原文地址:https://www.cnblogs.com/chamie/p/4857927.html