贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类算法是基于贝叶斯定理和特征条件独立性假设的分类方法,是贝叶斯分类中最简单,也是常见的一种分类方法。特征条件独立性[16]是指在给定样本类别的前提下,任一特征的取值与其他特征都不相关。该算法在文本分类、垃圾邮件过滤、情感分析等文本分析问题中得到了广泛的应用。
1.贝叶斯定理
假设X,Y是一对随机变量,他们的联合概率P(X=x,Y=y)是指X取值x且Y取值y的概率,条件概率P(Y=y|X=x)是指在变量X取值x的情况下,变量Y取值y的概率。则X和Y的联合概率、条件概率满足:
对公式(5.24)变形,可以得到下面的公式,称为贝叶斯定理:
贝叶斯定理是一种把先验知识和从样本获取的证据相结合的统计原理。通常P(Y)称为先验分布,P(X)称为证据,P(X|Y)称为似然函数,P(Y|X)称为后验分布。
在公式(5.25)中,我们假设X代表样本特征,Y代表样本的类别,k为类别数,则有全概率公式:
2.朴素贝叶斯定理
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你猜他来自哪里,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其他可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
朴素贝叶斯分类的正式定义如下:
设X={x1,x2,…,xm}是一个包含m维的向量,即每一个样本有m个特征;类别集合C={y1,y2,…,yc}包含c个类别。则有对一个待分类样本X进行类别分类预测的公式为:
对于一个给定的带分类样本X,P(X=x)与其类别无关,因此公式(5.28)可简化为:
公式(5.29)中,先验分布P(Y=c)可计算,又因为朴素贝叶斯假定特征条件独立性,即在给定类别的情况下,样本的各个特征之间相互独立,因此P(X=x|Y=c)可以写为连乘的形式:
将公式(5.29)和(5.30)结合,可以得到朴素贝叶斯公式,并用它来预测样本X的类别为:(www.xing528.com)
根据上述分析,朴素贝叶斯分类的流程可以用图5-11表示。
图5-11 朴素贝叶斯分类流程
可以看到,整个朴素贝叶斯分类分为三个阶段:
第一阶段-准备工作阶段。这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。
第二阶段-分类器训练阶段。这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。其输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算完成。
第三阶段-应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性阶段,由程序完成。
朴素贝叶斯最常见的应用场景是垃圾邮件过滤,基本思想是通过识别某些垃圾邮件中经常出现的单词,计算给定文本单词向量的后验概率分布,判定该文本是否是垃圾邮件,这是一个典型的二分类问题。在许多场所,朴素贝叶斯分类可以与决策树、神经网络分类算法相媲美,该算法能运用到大型数据库中,且方法简单、分类准确率高、速度快。但是朴素贝叶斯分类有一个限制条件,就是特征属性必须有条件独立或基本独立(实际上在现实应用中几乎不可能做到完全独立)。当这个条件成立时,朴素贝叶斯分类法的准确率是最高的,但不幸的是,现实中各个特征属性间往往并不条件独立,而是具有较强的相关性,这样就限制了朴素贝叶斯分类的能力。
3.朴素贝叶斯优缺点
朴素贝叶斯的主要优点有:
(2)对小规模的数据表现很好,能够处理多分类任务,适合增量式训练,尤其是当数据量超出内存时,我们可以一批批地去增量训练。
(3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。
朴素贝叶斯的主要缺点有:
(1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为在朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。
(2)需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。
(3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。
(4)对输入数据的表达形式很敏感。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。