贝叶斯定理的直观解释

2025 年 5 月 27 日 | 阅读 8 分钟

贝叶斯定理提供了一种计算条件概率的结构。最简单的方法是了解贝叶斯定理公式中每个术语的含义,并将其应用于各种现实生活问题。这种实践经验不仅能让你更直观,还能为你提供如何在未来案例中使用的参考点。

在本教程中,我们将通过贝叶斯定理解决一些现实场景。作为结果,你将理解贝叶斯定理的精髓。

到最后,你将理解

  • 如何使用贝叶斯定理计算条件概率。
  • 贝叶斯定理公式各部分的一个常用描述。
  • 三个关于如何逐步应用贝叶斯定理的实际示例。

理解贝叶斯定理

在一个事件发生后,贝叶斯定理确定下一个事件发生的概率。人们用来自相关随机变量 X 和 Y 的事件 A 和 B 来表达贝叶斯理论。

当事件 B 已存在时,我们计算事件 A 的概率表示为:P(A | B)。

P(A | B) = P(A and B) / P(B)

条件概率的基础不可逆转,因为这两个分量不是同向工作的。

P(A | B) ≠ P(B | A)

托马斯·贝叶斯认识到这个困难,并创建了他的公式来联系相关的概率。这个公式有助于根据另一个条件概率找到一个条件概率。

贝叶斯定理

P(A | B) = [P(B | A) × P(A)] / P(B)

这个系统让我们能够通过间接方法确定条件概率,而不是直接找到 P (A and B) 的联合概率。

为什么使用贝叶斯定理?

在需要以下条件的场景中,贝叶斯定理提供了一个具体的值。

  • 计算这两个因素之间的联系仍然很困难。
  • 获取和估计反向条件概率 P (B|A) 更简单。

处理分母 P (B)

通常,我们无法单独找到 P (B)。贝叶斯定理允许我们通过结合全概率定律来计算此值。

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

当我们将概率值代入贝叶斯定理的公式时,我们得到以下结果

P(A | B) = [P(B | A) × P(A)] / [P(B | A) × P(A) + P(B | not A) × P(not A)]

该公式有助于实际调查,因为许多实际情况表明 A 和 not A 等多个因素会导致相同的结果 B。

有用的补充

要计算未知的概率,你需要使用互补值。

  • P(not A) = 1 – P(A)
  • P(B | not A) = 1 – P(not B | not A)

在学习了计算贝叶斯定理的方法后,我们将看到如何将它的组成部分应用到日常情况中。

命名贝叶斯定理中的术语

贝叶斯定理由一些术语组成,这些术语根据公式的使用背景,常常被赋予特定的名称。这促使我们理解这些术语,并能够根据现实问题正确地解释和执行公式。

通用术语

P(A):先验概率

在没有任何已知信息的情况下,事件 A 发生的概率。

P(A | B):后验概率

在已知事件 B 的情况下,事件 A 更新后的概率。

P(B | A):似然度

定义事件 A 的事件,而你观察到事件 B。

P(B):证据

在所有可能的情况下观察到事件 B 的概率。

通过这些,贝叶斯定理可以写成

后验 = (似然度 × 先验) / 证据

示例:火与烟

假设我们想计算在看到烟的情况下发生火灾的概率。

  • P(火灾):火灾的先验概率
  • 在火灾情况下看到烟雾的似然度 (P(烟雾 | 火灾))。
  • 在室内看到烟雾的证据或概率 P(烟雾)
  • 看到烟雾的情况下发生火灾的后验概率 (P(火灾 | 烟雾))

贝叶斯定理变为

P(火灾 | 烟雾) = [P(烟雾 | 火灾) × P(火灾)] / P(烟雾)

分类上下文

在二元分类中,贝叶斯定理的术语对应于众所周知的性能指标

  • P(B | A):真阳性率 (TPR)、灵敏度或召回率
  • P(B | not A):假阳性率 (FPR)
  • P(not B | A):假阴性率 (FNR)
  • 真阴性率 (TNR):P(not B | not A),也称为特异度
  • 阳性预测值 (PPV) 或精确率,表示:P(A | B)

然而,这些关系使我们能够用分类器的术语重述贝叶斯定理。

PPV = (TPR × P(A)) / [(TPR × P(A)) + (FPR × P(not A))]

当查看诊断测试或机器学习分类器的阳性结果的可靠性时(请记住,此解释实际上只是贝叶斯定理的应用;换句话说,是确定结果可能性的值),此方程特别有用。

示例 1:老年人跌倒后死亡的概率

让我们考虑一个实际场景

80 岁以上的老年人在跌倒后死亡的几率是多少?

提供的数据如下

  • 当定义我们的起始条件时,10% 的老年人会死亡。
  • 0.05 表明老年人每二十名患者中就发生一次跌倒,但没有具体数据表明这一点。
  • 在那些去世的人中,有几个人也跌倒了,所以这种情况的发生几率是 7%。

我们想计算

统计数据表明,老年人在跌倒后成为死亡受害者的几率有多大(后验 p(死亡 | 跌倒))。

使用定理

An Intuitive Explanation of Bayes' Theorem

代入数值

An Intuitive Explanation of Bayes' Theorem

因此,跌倒意味着 14% 的死亡几率。

使用 Python 计算

输出

P(Die | Fall) = 14.00% 

这证实了我们的手动计算:如果一位老年人跌倒,从跌倒中死亡的几率为 14%。

示例 2:电子邮件和垃圾邮件检测

我们的示例使用标准的机器学习工具来解释这个问题。

垃圾邮件过滤器准确地将电子邮件识别为垃圾邮件的几率表明了其真实状态。

给定信息

  • P(垃圾邮件) = 0.02

每 100 封收到的电子邮件中有两封属于垃圾邮件类别(这代表了我们的基本信息)。

  • P(检测到 | 垃圾邮件) = 0.99

该系统 99% 的时间能够成功阻止垃圾邮件,就其性能而言。

  • P(检测到 | 非垃圾邮件) = 0.001

尽管试图执行此操作,但该过滤器仅对 0.1% 的非垃圾邮件返回垃圾邮件声明。

我们要计算

确定一封电子邮件是否为真正的垃圾邮件需要过滤器的检测数据。

应用定理

An Intuitive Explanation of Bayes' Theorem

代入数值

P (检测到) = P (检测到 | 垃圾邮件) × P(垃圾邮件) + P (检测到 | 非垃圾邮件) × P(非垃圾邮件)

P (非垃圾邮件) = 1 - P (垃圾邮件) = 1 - 0.02 = 0.98

P (检测到) = (0.99 × 0.02) + (0.001 × 0.98) = 0.0198 + 0.00098 = 0.02078

故,

An Intuitive Explanation of Bayes' Theorem

检测到垃圾邮件使电子邮件属于垃圾邮件类别的几率达到 95.28%。

代码

输出

 P(Spam | Detected) = 95.284%

我们手动计算的结果证实了该值:垃圾邮件过滤器非常准确,被标记的电子邮件恰好是垃圾邮件的可能性为 95.28%。

示例 3:说谎者和测谎仪

考虑一种情况,即测谎仪测试会给出阳性结果,表明说了谎。我们想确定

这个人说谎且测试结果为阳性的概率是多少?

给定信息

  • P(说谎) = 0.02

(先验概率只有 2% 的人被测出说谎——参加测试的人不超过 2%。)

  • P(阳性 | 说谎) = 0.72

(72% 是真阳性率,该测试能正确检测出说谎者 72% 的时间。)

  • 在不说是谎的情况下,测试结果为阳性的概率设为 P(非阳性 | 不说是谎) = 0.97。

(真阴性率是 97%,如果一个人不说谎,测试结果将有 97% 的几率为阴性。)

使用定理

An Intuitive Explanation of Bayes' Theorem

代入数值

  • P(阳性) = P(阳性 | 说谎) × P(说谎) + P(阳性 | 不说是谎) × P(不说是谎)
  • P(不说是谎) = 1 - P(说谎) = 0.98
  • P(阳性 | 不说是谎) = 1 - P(非阳性 | 不说是谎) = 1 - 0.97 = 0.03
  • P(阳性) = (0.72 × 0.02) + (0.03 × 0.98) = 0.0144 + 0.0294 = 0.0438
An Intuitive Explanation of Bayes' Theorem

尽管结果是阳性,但只有 32.88% 的几率表明该人实际上在说谎。高真阳性率表明该测试不太可靠。

代码

输出

 P(Lying | Positive) = 32.877%

这就是我们手动看到的——测谎仪测试效果不错,但本身并不是非常强有力的证据。

结论

通过本教程,你已经对贝叶斯定理有了直观的理解。我们学习到,当没有直接信息时,贝叶斯定理是计算条件概率最基本的方法之一。本教程解释了定理中各个术语的含义以及这些术语如何与实际问题相关联。你还通过三个现实场景进行了学习:老年人跌倒与死亡、垃圾邮件检测和测谎仪测试。

在每个示例中,我们都展示了如何分步应用贝叶斯定理并解释了结果。最终,你对如何利用贝叶斯推理在日常场景中获得答案获得了概念性和实践性理解。


下一主题机器学习算法