贝叶斯分类之朴素贝叶斯原理

来源:互联网 发布:软件测试员工作总结 编辑:程序博客网 时间:2024/05/16 17:17

介绍

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。

贝叶斯定理

先简单谈一下贝叶斯定理,它特别有用,这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。条件概率P(A|B)表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:P(A|B)=P(AB)/P(B)。

贝叶斯定理之所以有用,是因为我们在生活中经常遇到这种情况:我们可以很容易直接得出P(A|B),P(B|A)则很难直接得出,但我们更关心P(B|A),贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。

贝叶斯定理:P(B|A)=P(A|B)P(B)/P(A)
证明过程很简单,通过条件概率:P(A|B)P(B)=P(AB)=P(B|A)P(A)

朴素贝叶斯分类

朴素贝叶斯的思想基础是这样的:对于给出的待分类样本特征x,求解在此样本出现的条件下各个类别出现的概率,哪个最大,就认为此待分类样本属于哪个类别。

朴素贝叶斯方法是一系列有监督学习的方法,这些方法基于对贝叶斯理论的应用,即简单(naive)的假设 每对特征之间都相互独立。给定类变量 y (这里一个样本仅属于一类) 和一个相互独立的特征向量 x1 到 xn,贝叶斯定理可得到如下关系:

这里写图片描述

根据朴素贝叶斯对条件概率的强假设条件独立性:

这里写图片描述

我们可使用最大后验概率 (MAP) 估计来估计变量 P(y) 和 P(xi | y); 前者是 y 在训练集中的相对频率。对于要输入样本x,要预测其类别标签,将后验概率最大的类作为x的类输出。

通俗的讲就是对于属于样本x,已知类别y有n种情况,把这n种情况和x代入上式求当y取那个类别时,具有最大的后验概率,此时样本x就是那个类别。

各种各样的朴素贝叶斯分类器的不同之处在于,他们对 P(xi |y) 的分布的认识和假设不同(体现在计算时采用不同的模型)。

尽管它们看起来有一个过于简单的假设,朴素贝叶斯分类器仍然在真实世界的许多情景下工作良好,在文本分类和垃圾邮件筛选领域尤其流行。它们要求少量的数据来估计必要的参数。

朴素贝叶斯三种常用模型

朴素贝叶斯 多项式模型

当特征是离散的时候,使用多项式模型。多项式模型在计算先验概率P(yk)和条件概率P(xi | yk)时,会做一些平滑处理,具体公式为:
这里写图片描述

当α=1时,称作Laplace平滑,当0<α<1时,称作拉普拉斯平滑,α=0时不做平滑。

如果不做平滑,当某一维特征的值xi没在训练样本中出现过时,会导致P(xi|yk)=0,从而导致后验概率为0。加上平滑就可以克服这个问题。

朴素贝叶斯 高斯模型

当特征是连续变量的时候,运用多项式模型就会导致很多P(xi|yk)=0(不做平滑的情况下),此时即使做平滑,所得到的条件概率也难以描述真实情况。所以处理连续的特征变量,应该采用高斯模型。高斯模型假设每个特征的所有属于某个类别的观测值符合高斯分布:

这里写图片描述

朴素贝叶斯 伯努利模型

与多项式模型一样,伯努利模型适用于离散特征的情况,不同的是,伯努利模型中每个特征的取值只能是1和0(以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0).

伯努利模型中,条件概率P(xi|yk)的计算方式是:

当特征值xi为1时,P(xi|yk)=P(xi=1|yk);

当特征值xi为0时,P(xi|yk)=1−P(xi=1|yk);

参考:
http://sklearn.lzjqsdd.com/modules/naive_bayes.html
http://blog.csdn.net/u012162613/article/details/48323777#t3

原创粉丝点击