如何向10岁小孩解释清楚贝叶斯定理 !

贝叶斯定理在提出来后的很长一段时间,大家并没有觉得它有什么作用,并一直受到主流统计学派的排斥。

直到计算机的诞生,贝叶斯定理的强大作用才逐渐显现出来。人们发现,贝叶斯定理可以广泛应用于数据分析、模式识别、统计决策,甚至是当前最热门的人工智能领域,可以说,掌握并应用贝叶斯定理,是每个人必备的技能。

这里推荐两个视频,它们用深入浅出的方式解释了贝叶斯定理:

  1. https://www.youtube.com/watch?v=Pu675cHJ7bg
  2. https://www.youtube.com/watch?v=HZGCoVF3YvM

为了弄清楚贝叶斯定理到底要解决什么问题,我们先来看一个现实生活中的例子:

假设有一种疾病,其发病率为0.1%。针对这种疾病的以下检测非常准确:

  • 如果一个人患病,测试的准确率为99%(即有1%的人虽然患病但测试结果为阴性没有检测出)。;
  • 如果一个人未患病,测试的误报率为2%(即有2%的人虽然未患病但测试结果为阳性)。

现在,如果一个人测试显示阳性,请问他患病的概率是多少?

如果我们从大街上随便找一个人,那么他患病的概率就是0.1%,因为这个概率是基于历史统计数据的先验概率。

然而,当这个人接受测试并得出阳性结果后,我们需要计算在这种情况下他实际患病的概率,也就是计算条件概率:在测试结果为阳性的条件下,患病的概率是多少?

从直觉上看,这个人的患病概率应该大于0.1%,但显然不会达到99%。究竟是多少,如何计算呢?我们暂且搁置这个问题,先通过一个更简单的例子来理解条件概率的概念。

为了理解条件概率,我们换一个更简单的例子:假设我们掷两个骰子,一共可能出现的结果有6×6=36种,下图中的每个两位数都代表两次掷骰子得到的数字,例如43表示第一次掷出4,第二次掷出3:

一共可能出现的结果就是所谓的样本空间,这里样本空间大小为36,因此每个样本的概率均为1/36,这一点很好理解。如果我们定义事件A为:至少有一个骰子是2,那么事件A的样本空间如下图红色部分所示:

事件A一共有11种情况,因此事件A发生的概率P(A)为11/36:

我们再定义事件B:两个骰子之和为7,那么事件B的样本空间如下图绿色部分所示:

事件B一共有6种情况,同理我们得到事件B发生的概率P(B)为6/36:

接下来我们用P(A∩B)表示A和B同时发生的概率,A∩B就是A和B的交集,如下图蓝色部分所示:

可以看出事件A和事件B同时发生只有两种情况,因此,P(A∩B)为 2/36:

接下来我们就可以讨论条件概率了。我们用P(A|B)表示在B发生的条件下,A发生的概率。由于B已经发生,所以,样本空间就是B的样本数量6,而要发生A则只能是A、B同时发生,即A∩B,有两种情况。因此,计算P(A|B)如下:

同理,我们用P(B|A)表示在A发生的条件下,B发生的概率。此时,分子仍然是A∩B的样本数量,但分母变成A的样本数量:

可见,条件概率P(A|B)和P(B|A)是不同的。我们再回到A、B同时发生的概率,观察P(A∩B)可以改写为:

同理,P(A∩B)还可以改写为:

因此,根据上述两个等式,我们推导出下面的等式:

把左边的P(A∩B)去掉,我们得到等式:

最后,整理一下等式,我们推导出贝叶斯定理如下:

它用于计算在条件B发生时事件A发生的概率。通常,我们将A改写为H,表示Hypothesis(假设);将B改写为E,表示Evidence(证据)。贝叶斯定理的核心意义在于:给定一个先验概率P(H),在出现证据E的情况下,计算后验概率P(H|E)。

计算

有了贝叶斯定理,让我们回到之前提出的问题:假设有一种疾病,其发病率为0.1%。针对这种疾病的检测非常准确:

  • 如果一个人患病,测试的准确率为99%(即有1%的人虽然患病但测试结果为阴性没有检测出)。;
  • 如果一个人未患病,测试的误报率为2%(即有2%的人虽然未患病但测试结果为阳性)。

现在,如果一个人的测试结果为阳性,求他实际患病的概率是多少?用H表示患病,E表示测试为阳性,那么,我们要计算在测试为阳性的条件下,一个人患病的概率,就是计算P(H|E)。根据贝叶斯定理,计算如下:

先验概率 P(H)表示患病的概率,根据发病率可知,P(H)=0.1%;

P(E|H)表示在患病的情况下,测试为阳性的概率,根据“如果有病,则准确率是99%”的信息可知,P(E|H)=99%,P(E|H)=99%;

P(E)表示在所有人中测试为阳性的概率。这个概率就稍微复杂点,因为它是指对所有人(包含病人和健康人)进行测试,结果阳性的概率。为了更好地理解P(E),我们假设检测了10万人:

  • 患病人数:根据0.1%的发病率,100人患病,99900人健康。
  • 患病者的检测结果:在100名患病者中,99人检测结果为阳性,1人未检出阳性。
  • 健康者的检测结果:在99900名健康者中,误报率为2%,即1998人检测结果为阳性,97902人检测结果为阴性。

下图显示了检测为阳性的结果的分布:

所以,对于10万人的样本空间来说,事件E=显示阳性的概率为(99+1998)/100000=2.097%。带入贝叶斯定理,计算P(H|E):

计算结果为患病的概率为4.721%,这个概率远小于99%,且与大多数人的直觉不同,原因在于庞大的健康人群导致的误报数量远多于病人,当出现“检测阳性”的证据时,患病的概率从先验概率0.1%提升到4.721%,但这还远不足以确诊。

贝叶斯定理的另一种表示

有时直接计算P(E)可能相当困难,甚至无法准确得知P(E)的值。此时我们需要采用贝叶斯定理的另一种形式来解决问题。假设我们用P(H)表示事件H发生的概率,用H表示事件H不发生,P(H)就表示事件H不发生的概率。显然P(H)=1-P(H)。下图红色部分表示H,红色部分以外则表示H:

下图中的绿色部分表示事件E:

可见,P(E)可以分为两部分,一部分是事件E和事件H的交集,另一部分是E和^H的交集:

将前面介绍的公式P(A∩B)=P(A|B)xP(B)代入其中可得:

把P(E)替换掉,我们得到贝叶斯定理的另一种写法:

可以看到,如果我们用这个公式来计算,就不必计算P(E)了。再次回到开头的问题:

  • 如果一个人患病,测试的准确率为99%(即有1%的人虽然患病但测试结果为阴性没有检测出)。;
  • 如果一个人未患病,测试的误报率为2%(即有2%的人虽然未患病但测试结果为阳性)。

现在,如果一个人测试显示阳性,请问他患病的概率是多少?

  • P(E|H)表示患病时检测阳性的概率=99%;
  • P(H)表示患病的概率=0.1%;
  • P(E|^H)表示没有患病但检测阳性的概率=2%;
  • P(^H)表示没有患病的概率=1-P(H)=99.9%。

代入公式,计算:

结果和前面的方法计算结果一样——4.721%。

假设这个人再次接受检测,结果仍然为阳性。那么我们可以继续使用贝叶斯定理来计算他患病的概率。这时,先验概率 P(H)已经从之前的 0.1% 上升到了 4.721%,而条件概率P(E|H)和P(E|^H)仍保持不变,计算新的P(H|E):

我们会发现,最后得到的结果为71%,也就是说,两次阳性检测结果使得患病的先验概率从 0.1% 提升到 4.721%,再进一步提高到 71%。

贝叶斯定理的核心思想在于,不断根据新的证据调整先验概率,逐步将其转变为后验概率,使我们的判断更加接近客观事实。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值