简介
贝叶斯定理是概述中很基本也是最常用的一个定理,也是自然语言处理中一个最基本的公式。它的公式并不复杂,但是理解起来还是有点困难。网上有很多文章介绍如何它是什么或如何使用,但是很少有文章通过具体的实例来说明。因此,为了便于大家理解,本文特使用一个带有数字的具体示例进行演示。希望通过本文能够让更多的初学者快速掌握这条定理的内涵。
贝叶斯定理
首先,让我们认识一下贝叶斯定理:给定事件集合
A={Ai,A2,...,An},满足
0≤Ai≤1,
P(Ai∩Aj)=0(i=j),且
∑i=1nAi=1 ,那么贝叶斯定理可以表示为:
P(Ai∣B)=∑j=1nP(B∣Aj)P(Aj)P(B∣Ai)P(Ai)
实例说明
有四个名子集合
N={Rose,Jack,Nancy,John},现在随机抽取一个名子,则会有对应有4个基本事件:
A1={Rose},A2={Jack},A3={Nancy},A4={John}。为了简化说明,设每个名子在抽取时选中的几率一样,即
P(A1)=P(A2)=P(A3)=P(A4)=25%。再设另一件
B={namei∣namei包括字母o}。求
P(Ai∣B)的概率。
根据贝叶斯定理的公式,欲求
P(Ai)∣B),我们可以通过计算 4:
P(B∣Ai)P(Ai) 和
P(B∣Ai) 获得。为此,我们列了以下表,列代表需要计算的内容,行代表第
i 个事件对应的数据。
1:
Ai |
2:
P(B|
Ai) |
3:
P(Ai) |
4:
P(B|
Ai)
P(Ai) |
5:
P(B|
Ai) |
A1 |
100% |
25% |
25% |
50% |
A2 |
0% |
25% |
0% |
0% |
A3 |
0% |
25% |
0% |
0% |
A4 |
100% |
25% |
25% |
50% |
如上表所示,现在对每列的情况进行说明。
第1列对应事件
Ai。
第2列表示当事件发生时,事件
B 的发生概率。比如,当
A1 发生时,即名子为 Rose
时,事件
B 发生的概率是100%,因为 Rose
中一定包括字母o。所以,对于
A1 和
A4 的均为100%,而为
A2 和
A3 的概率为0%。
第3列计算每个事件
A 发生的概率,由于是相同概率,所以都是25%。
第4列是第2列和第3列的乘积,也是公式中右侧表达式的分子。
第5列是所要求的最终结果,现在分子已经有了,再计算分母即可,根据现有的数据,我们可以简单代入即可求得右侧表达式分母的值,即:
j=1∑nP(B∣Aj)P(Aj)=25%+0%+0%+25%=50%
所以,将第4列的值,除以 50%,即可求得
P(B∣Ai) 的值。
注意:
P(B∣A) 是一个条件概率,即在
A 发生时,
B 发生的概率。而
P(AB) 表示的是
A 和
B 同时发生的概率。虽然两者中A都已经发生,但是本质区别在于B是否发生:在条件概率中B可能发生,可能不发生;而在后面B一定发生。举例来说,A表示下雨,B表示在家。比如小张下雨天在家的几率是50%,即P(B|A)=50%,但是P(AB)可能只有10%,因为下雨也是有概率的,还有不下雨的情况,比如下雨的几率为20%,非雨天的几率为80%。那么根据公式
P(AB)=P(A∣B)P(A),即下雨又在家的几率为 50% * 20% = 10%。
小结
根据以上计算结果,我们可以看出贝叶斯定理就是在
P(Ai),
P(B) 和
P(B∣Ai) 已知的情况下,求
P(Ai∣B。以本示例来说,就是在已经所有抽样名称,是不是包括字母o 和 抽样发生是不是B,然后再求出是某字母的情况下求Ai求B的概率。
所以,当我们知道了某事件
A 以后,可以进一步求得在事件
Ai 发生时,P(B) 也发生的概率,然后以此反推,求出在不同
Ai 的情况下求出
B 发生的概率。实际上就是在已经A条件下发生B的概率,再反过来在B的条件下发生A的概率,是一个通过先验求出后验结果的过程。