贝叶斯定理及其应用

来源:Derivation of Bayes rule In Chinese - Rhea (projectrhea.org)
另外可参考 廖雪峰:一文搞懂贝叶斯定理(应用篇)

大纲



贝叶斯定理 (Bayes' theorem)

贝叶斯定理由英国数学家托马斯·贝叶斯(Thomas Bayes)在1763提出,因此得名贝叶斯定理。贝叶斯定理也称贝叶斯推理,是关于随机事件的条件概率的一则定理。

对于两个随机事件A和B,贝叶斯定理有如下表达:

P(A|B)=P(B|A)P(A)P(B)

其中P(A|B)代表在事件B发生的情况下事件A发生的概率。

在贝叶斯定理中:

另外,P(B|A)有时也被称作相似度(likelihood)。

image.png



贝叶斯定理的推导

一种方式

image.png

另一种方式

根据条件概率的定义,在事件B发生的条件下事件A发生的概率是:

P(A|B)=P(B|A)P(A)P(B)

同理,我们可以得到在事件A发生的条件下事件B发生的概率:

P(B|A)=P(BA)P(A)

由以上两个方程,我们可以得出:

P(B|A)P(A)=P(AB)=P(A|B)P(B)

等式两边同时除以P(B),进而得出贝叶斯定理:

P(A|B)=P(B|A)P(A)P(B)

利用贝叶斯定理,我们还可以得出全概率公式。

我们已知对于事件A,B和A的补集A',有:

P(B)=P(BA)+P(BA)P(BA)=P(BA)P(A)

所以我们可以得到全概率公式:

P(B)=P(B|A)P(A)+P(B|A)P(A)

将全概率公式带入条件概率公式,我们可以得到贝叶斯定理的另一种写法:

P(A|B)=P(B|A)P(A)P(B|A)P(A)+P(B|A)P(A)

贝叶斯定理应用实例

我们来看一个例子: 假设我们有两个笼子,一号笼子里有15只鸡和5只兔子,二号笼子里有10只鸡和10只兔子。现在随机选择一个笼子,从中取出一只兔子,请问这只兔子来自一号笼子的概率有多大?

对于这类问题,我们可以用贝叶斯定理解答。我们假定,B1表示一号笼子,B2表示二号笼子。由于这两个笼子是一样的,所以P(B1)=P(B2),也就是说,在取出兔子之前,这两个笼子被选中的概率相同。因此,P(B1)=P(B2)=0.5. 再假定,R表示兔子,所以问题就变成了在已知R的情况下,来自一号笼子的概率有多大,即求P(B1|R)。我们把这个概率叫做"后验概率"。

根据贝叶斯定理,我们可以得到:

P(B1|R)=P(R|B1)P(B1)P(R)

已知,P(B1)等于0.5,P(R|B1)为一号笼子中取出兔子的概率,等于0.25,那么求出P(R)就可以得到答案。根据全概率公式,

P(R)=P(RB1)P(B1)+P(RB2)P(B2)

所以

P(R)=P(R|B1)P(B1)+P(R|B2)P(B2)

将以上结果带入,我们可以得到:

P(B1|R)=0.250.375×0.5=0.4

贝叶斯分类器

贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。也就是说,贝叶斯分类器是最小错误率意义上的优化。

假设x={x1,x2,...,xn} 为一个待分类项,x属于类别集合C={y1,y2,...,ym}中的一个。

P(ykx)=max{P(y1x),P(y2x,...,P(ymx)},则xyk

现在的关键就是计算各个条件概率:P(y1|x),P(y2|x),...,P(ym|x)

我们可以这么做:

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

2、统计得到在各类别下各个特征属性的条件概率估计。即P(x1|y1),P(x1|y2),...,P(xn|ym)

3、如果各个特征属性是条件独立的,则根据贝叶斯定理:

P(yi|x)=P(x|yi)P(yi)P(x)

因为各特征属性是条件独立的,我们可以得到:

P(x|yi)P(yi)=P(x1|yi)P(x2|yi)...P(xn|yi)=P(yi)k=1nP(xk|yi)

最终我们得到:

P(yi|x)=P(yi)k=1nP(xk|yi)P(x)

因为分母P(x)为常数,我们只需比较分子的大小即可。

Example