朴素贝叶斯知识整理

以下内容为来自网上各类资料的知识整理。刚好最近做了关于贝叶斯的报告,因此记录下来,方便以后进行回顾。

1. 前言

在进入正题之前,让我们先聊点关于贝叶斯的历史。

(1) 历史

贝叶斯定理由18世纪的英国数学家托马斯·贝叶斯(Thomas Bayes)提出。贝叶斯定理源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。贝叶斯在写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大”。那么我们自然而言地想到了另一个问题,“如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测”这个问题,就是所谓的逆向概率问题。
贝叶斯定理的思想出现在18世纪,但真正大规模派上用途还得等到计算机的出现。因为这个定理需要大规模的数据计算推理才能凸显效果,它在很多计算机应用领域中都大有作为,如模式识别,机器学习,博弈论等。

(2) 公式

接下来是一些很简单的概率公式:

  • 条件概率(表示事件B发生下事件A发生的概率)

  • 全概率公式

  • 贝叶斯公式


(3) 一个例子

现在有两个一模一样的碗,1号碗有30颗水果糖和10颗巧克力糖,2号碗有20颗水果糖和20颗巧克力糖。现在从中摸出一颗糖,该水果糖来自1号碗的概率是多少?
这个问题是在是太简单了,这里就不再给出计算过程,运用上面的公式可以计算出概率为0.6.

(4) 学派之争

了解贝叶斯学派的思想观点可以帮助我们更好地理解贝叶斯算法。
贝叶斯学派和频率学派相比,最有区分的一点是,它强调概率的“主观性”。也就是:

  • 频率学派强调频率的“自然属性”,认为应该使用事件在重复试验中发生的频率作为其发生的概率的估计。
  • 贝叶斯学派不强调事件的“客观随机性”,认为仅仅只是“观察者”不知道事件的结果。也就是说,贝叶斯学派认为:事件之所以具有随机性仅仅是因为“观察者”的知识不够完备,对于“知情者”来说,该事件其实不具备随机性。随机性的根源不在于事件,而在于“观察者”对该事件的知识状态。

例子:一个人抛了一枚均匀硬币到地上并迅速将其踩在脚底。在他前面从近到远坐了三个人。他本人看到了硬币是正面朝上的,其他三个人也多多少少看到了一些信息,但显然坐的越远、看得就越模糊。频率学派认为,无论硬币是正是反,各自的概率都应该是50%;但是贝叶斯学派会认为,对抛硬币的人来说,硬币是正面的概率就是100%,然后可能对离他最近的人来说是80%、对离他最远的人来说可能是50%。
在刚才的例子中,样本就是抛出去的那枚硬币,模型的参数就是每个人从中获得“信息”。对于频率学派而言,每个人获得的“信息”不应该不同,所以认为“均匀硬币抛出正面概率为50%”。但是对于贝叶斯学派而言,硬币抛出去就抛出去了,问题的关键在于模型的参数、即“观察者”从中获取的信息,所以会得出“对抛硬币的人而言,硬币是正面的概率是100%”这一结论。
在了解了贝叶斯的历史背景和思想之后,接下来让我们开始正儿八经学习一下贝叶斯分类。

2. 贝叶斯分类

(1) 朴素贝叶斯

  • 为一个待分类项,而每个a为x的一个特征属性
  • 有类别集合
  • 计算
  • 如果,则

那么如何计算第三步中的各个条件概率呢???
一般情况下,我们采取如下的做法:

  • 找到一个已知分类的待分类项集合,这个集合叫做训练样本集。

  • 统计得到在各个类别下各个特征属性的条件概率估计。 即

  • 根据贝叶斯定理

因为在实际进行比较的过程中,分母都是相同的,所以我们只需考虑分子的大小即
也就是

在朴素贝叶斯中,假设各个特征属性条件独立,即:

(2)朴素贝叶斯分类流程图

朴素贝叶斯分类流程图

(3)一个分类实例

大家都爱吃苹果,那么在选购苹果的时候如何判断一个苹果的好坏呢?这里我们的统计样本中根据以下几个特征来区分苹果是好是坏.

编号 大小 颜色 形状 好果
1 青色 非规则
2 红色 非规则
3 红色 圆形
4 青色 圆形
5 青色 非规则
6 红色 圆形
7 青色 非规则
8 红色 非规则
9 青色 圆形
10 红色 圆形

现在已知有一个大、红色、圆形的苹果,求该苹果是好果的概率是多少?

P(好果|大,红,圆)=P(大,红,圆|好果)P(好果)/P(大,红,圆)
=P(大|好果)P(红|好果)P(圆|好果)P(好果)/P(大,红,圆)

P(坏果|大,红,圆)=P(大,红,圆|坏果)P(坏果)/P(大,红,圆)
=P(大|坏果)P(红|坏果)P(圆|坏果)P(坏果)/P(大,红,圆)

因为分母都相同,所以我们直接比较分子大小即可。

P(大|好果)P(红|好果)P(圆|好果)P(好果)=0.225

P(大|坏果)P(红|坏果)P(圆|坏果)P(坏果)=0.0167

计算出来该苹果是好果的概率更大。

(4) 拉普拉斯平滑

依旧是这些统计样本,我们现在还有一个苹果,其特征分别为大、青色、圆形,同样计算该苹果是好果的概率是多少?

编号 大小 颜色 形状 好果
1 青色 非规则
2 红色 非规则
3 红色 圆形
4 青色 圆形
5 青色 非规则
6 红色 圆形
7 青色 非规则
8 红色 非规则
9 青色 圆形
10 红色 圆形

P(好果|大,青,圆)=P(大,青,圆|好果)P(好果)/P(大,青,圆)
=P(大|好果)P(青|好果)P(圆|好果)P(好果)/P(大,青,圆)

我们注意到,这里P(青|好果)在统计样本中是没有出现的,那么怎么办呢?难道为0吗?

通过以上例子,我们发现一个问题:在训练集中,很多样本的取值可能并不在其中。但是这并不代表这种情况发生的概率为0,不能因为未被观测,就判断其不可能发生。
为了解决这个问题,我们引入拉普拉斯平滑。它的思想很简单,就是对没类别下所有划分的计数加1。当训练样本集数量充分大时,并不会对结果产生影响,并且解决了上述频率为0的尴尬局面。(分子统一全部加1,分母加相应特征的取值个数)

对应这个例子而言,
P(好果|大,青,圆)=P(大,青,圆|好果)P(好果)/P(大,青,圆)
=P(大|好果)P(青|好果)P(圆|好果)P(好果)/P(大,青,圆)

P(大|好果)=(3+1)/(4+2)(分子统一加1,分母呢?因为好果这个特征对应的取值个数就只有两种,要么好果,要么坏果,所以加2)

P(好果)=(4+1)/(10+2)(同样的,分子加1,分母原来为10,表示总的统计样本个数为10,而要么好果要么坏果,就这俩取值,所以同样加2)

对于以上式子,

P(青|好果)=(0+1)/(4+2)

P(圆|好果)=(3+1)/(4+2)

(5) 总结

朴素贝叶斯算法优点:

  • 算法逻辑简单,易于实现
  • 分类过程时空开销小
  • 算法稳定,对于不同特点的数据其分类性能差别不大,健壮性较好。