朴素贝叶斯定理的示例
郝伟 2021/04/26

简介

先上公式:P(AB)=P(BA)P(A)P(A)P(A|B)=\frac{P(B|A)P(A)}{P(A)}其中,P(AB)P(A|B)指在事件B发生时事件A发生的几率。具体内容可以看这篇文章,写的非常好。

公式其实很简单,不难记忆。但是很多人都理解困难,其核心难点在于如何正确定义事件A和事件B,只要这两个事件定义正确了,注可以轻松地供稿公式计算以获得正确的结果。一般而言,P(A)或P(B)都是已知的,属于先验经验,而P(A|B) 或 P(B|A) 是未知的,属于后验经验。其中 P(A|B) 的值可能很大,甚至远比 P(A) 或 P(B) 要大。

举例来说,设事件A表示有某疾病,事件B是对此疾病的化验结果为阳性,则:

下面让我们看几个示例,来深入理解这个公式。

示例1:水果糖问题

问题:有白色和红色两个碗都随机放了水果糖和巧克力糖两种糖果,其数量分别如下:

现在随机抽出一粒糖是水果糖,则其从白碗来的几率有多大?

解:设事件A为抽取碗的颜色,则 P(白碗)=P(红碗)=50%P(白碗)=P(红碗)=50\%
设事件B为糖果的种类,则 P(水果糖)=(30+20)/(30+10+20+20)=62.5%P(水果糖) = (30+20) / (30+10+20+20) = 62.5\%.
在白碗中 P(水果糖白碗)=30/(30+10)=75%P(巧克力糖白碗)=10/(30+10)=25%P(水果糖|白碗)=30/(30+10)=75\%,P(巧克力糖|白碗)=10/(30+10)=25\%
在红碗中 P(水果糖红碗)=20/(20+20)=50%P(巧克力糖红碗)=20/(20+20)=50%P(水果糖|红碗)=20/(20+20)=50\%,P(巧克力糖|红碗)=20/(20+20)=50\%
所以,P(白碗水果糖)=P(水果糖白碗)P(白碗)P(水果糖)=75%50%62.5%=60%P(白碗|水果糖)=\frac{P(水果糖|白碗)P(白碗)}{P(水果糖)}=\frac{75\%*50\%}{62.5\%}=60\%。结果说明,从白碗中取得水果糖的几率更大。这与我们的主观观察也一致,毕竟白碗中的水果糖的比例75%比红碗中的50%更高,所以有更高的几率从白碗中取得水果糖。

示例2:主观经验

问题:已知某种疾病的发病率是0.0001,即1万人中会有1人得此疾病。现有一种试剂可以检验患者是否得病,其准确率为0.99,即对一个此疾病的患者进行检测,有99%的概率呈现阳性。但是对于正常人检测,它也有一定几率错误地显示为阳性,其误报率为5%。问题:现有一名化验者的检验结果呈阳性,那么他确诊的可能性有多大?

解:假定A事件表示有此疾病,事件B表示化验结果为阳性。
问题“现有一名化验者的检验结果呈阳性,那么他确诊的可能性有多大?”就是求在事件B发生的情况下,事件A发生的几率,即 P(AB)P(A|B)。那么,下面先分析已知的条件:
根据“发病率是0.0001”,可得:
P(A)=0.0001P(A)=0.0001
根据 “现有一种试剂可以检验患者是否得病,其准确率为0.99”,可得:
P(B)=0.99P(B)=0.99
根据“现有一种试剂可以检验患者是否得病,其准确率为0.99”,可得:
P(BA)=0.99P(B|A)=0.99
根据“它也有一定几率错误地显示为阳性,其误报率为5%”,可得:
P(BAˉ)=0.05P(B|\bar{A})=0.05

有了以上的三个条件后,根据全概率公式,可得: P(B)=P(BAˉ)P(Aˉ)+P(BA)P(A)=0.050094P(B) = P(B|\bar{A})*P(\bar{A})+P(B|A)P(A)=0.050094

再利用条件概率公式进行计算,可得:P(AB)=P(BA)P(A)P(B)=0.990.00010.050094=0.1976%P(A|B)=\frac{P(B|A)P(A)}{P(B)}=\frac{0.99 * 0.0001}{0.050094}=0.1976\%

由此可见,即使化验结果呈阳性,真正可以确诊的几率也只有0.1976%,有99.8024%的几率呈现为"假阳性",即阳性结果完全不足以说明病人得病。为什么会这样?为什么这种检验的准确率高达99%,但是可信度却不到0.2%?答案是与它的误报率太高有关(顺带提一句,如果误报率从5%降为1%,病人得病的概率会变为0.98%,即提升为原来的5倍)。有兴趣的朋友,还可以算一下"假阴性"问题,即检验结果为阴性,但是病人确实得病的概率有多大。其实,对于医学检测来说,"假阳性"不可怕,顶多带来些心理压力,大不了多化验几次即可。真正可怕的是"假阴性",即明明有病却检查不出来,结果贻误了治疗时机,结果往往可能是致命的。