条件概率

社区文章 发布于 2024年1月9日

欢迎回到我的博客,在这里我们深入探讨如何让复杂的主题既易于理解又引人入胜。今天,我们将探讨一个既引人入胜又具有挑战性的主题:条件概率。

两个骰子的概率基础 🎲

想象掷两个**不同**的骰子。每个骰子都可以落在 1 到 6 之间的一个数字上,所以当掷两个骰子时,我们可能的结果(或样本空间)如下所示:

[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6),
 (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6),
 (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6),
 (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6),
 (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6),
 (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6)]

现在,如果我们想找出这两个骰子之和为 4 的概率是多少?在所有组合中,这些组合之和为 4:

[(1, 3), (2, 2), (3, 1)]

由于每个结果都是等可能发生的,因此概率就是有利结果(总和为 4)的数量除以结果总数:

P=336=112P = \frac{3}{36}= \frac{1}{12}

添加条件 - 它如何改变事物

但让我们改变一下场景。假设我告诉你第一个骰子掷出的是 2。这个额外的信息改变了我们的计算。为什么?因为它将我们的样本空间缩小到只有第一个骰子是 2 的那些结果:

[(2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6),]

在这个较小的样本空间中,只有一个结果的总和为 4:

[(2, 2)]

所以,概率现在变为:

P=16P = \frac{1}{6}

这表明额外信息或条件如何改变概率。

定义条件概率

事件“E 在 F 发生的情况下”的条件概率是 E 发生在F 已经发生的概率。这被称为在 F 上的条件化。数学上,它定义为:

P(EF)=count of E and F happeningcount of F happening=count of E and F happeningcount of sample spacecount of F happeningcount of sample space=P(EF)P(F)P(E|F) = \frac{\text{count of } E \text{ and } F \text{ happening}}{\text{count of } F \text{ happening}} = \frac{\frac{\text{count of } E \text{ and } F \text{ happening}}{\text{count of sample space}}}{\frac{\text{count of } F \text{ happening}}{\text{count of sample space}}} = \frac{P(E \cap F)}{P(F)}

概率中的链式法则

在此概念的基础上,我们可以将两个事件的联合概率表示为条件概率和条件概率的乘积。这被称为链式法则:

P(EF)=P(F)P(EF)P(E \cap F)=P(F)P(E|F)

Netflix 和学习

当试图计算某人在 Netflix 上看电影的概率时,一个常见的第一个想法可能是只考虑两种选择:**看**或**不看**。

这会意味着概率是 12\frac{1}{2},就像掷硬币一样。然而,这种方法存在缺陷,因为它假设每个选项都是等可能的,这在现实生活中并非如此。看电影的决定涉及各种因素,远非一个简单的 `50/50` 选择。

一种更现实的方法

更好的方法是将 Netflix 视为一个对其庞大用户群进行无数次实验的平台。每次用户决定看或不看电影,都是一次实验,为大型数据集做出贡献。

P(E=watching movie M)=limn=n(E)nP(E=\text{watching movie M}) = \lim_{n \to \infty} = \frac{n(E)}{n}

Netflix 拥有我们可以直接代入并得到观看电影 M 的概率的信息。

现在,让我们添加一个转折。假设我们知道一个人已经在 Netflix 上观看了一部电影。这个信息如何影响他们观看另一部电影的概率?这就是条件概率发挥作用的地方。

在这种情况下,相关方程是:

P(M1M2)=P(M1M2)P(M2)=n(M1M2)n(netflix users)n(M2)n(netflix users)=n(M1M2)n(M2)P(M_1 | M_2) = \frac{P(M_1 \cap M_2)}{P(M_2)} = \frac{\frac{n(M_1 \cap M_2)}{n(\text{netflix users})}}{\frac{n(M_2)}{n(\text{netflix users})}} = \frac{n(M_1 \cap M_2)}{n(M_2)}

这里,M2M_2 是已经看过的电影,我们正在尝试找出 M1M_1 下一部被观看的可能性。

这个公式告诉我们,当我们知道一个人已经观看了一部电影时,他们选择观看另一部电影的概率会显著改变。本质上,过去的观看行为会影响未来的选择。

全概率定律

假设您有一个背景事件 B 和另一个事件 E,且 E 以 B 为条件。那么事件 E 的概率是多少?

image/png

在计算事件 E 以事件 B 为条件时的概率时,有两条路径会汇合。

  1. B 发生时 E 的概率 P(EB)P(E | B)
  2. B 不发生时 E 的概率 P(EBC)P(E | B^{C})

现在,使用链式法则,我们可以将这两个概率合并,得到我们想要的:P(E)=P(EB)P(B)+P(EBC)P(BC)P(E) = P(E|B)P(B) + P(E|B^{C})P(B^{C})

贝叶斯定理

有了这些基本工具,让我们思考一个问题。

垃圾邮件检测 📧

假设您的收件箱里充斥着垃圾邮件。您想检测并删除这些邮件。您浏览了收件箱,发现了一个模式。您看到大量垃圾邮件以“Dear”开头。

您想知道这封邮件是垃圾邮件的概率,前提是它以“Dear”开头。我们想知道 P(垃圾邮件 | 以“Dear”开头)。我们已经观察到我们的邮件以“Dear”开头,那么它是垃圾邮件的概率是多少?这本身就是一个难以解决的问题。我们可以将以“Dear”开头的邮件聚类,然后统计该聚类中的垃圾邮件数量。但这并不是正确的方法,因为垃圾邮件可能不以“Dear”开头。

但是当您将问题反过来思考时,P(以“Dear”开头 | 垃圾邮件),它就变得容易多了。您首先将垃圾邮件聚类,然后统计以“Dear”开头的邮件数量。

这凸显了我们宇宙的一个内在本质。有时从观察中推断是困难的。

这仍然不能解决我们的问题。我们仍然想预测一封以“Dear”开头的邮件是垃圾邮件的可能性。

这就是贝叶斯定理发挥作用的地方。P(FE)=P(FE)P(E)P(F | E) = \frac{P(FE)}{P(E)}

让我们将链式法则代入分子中:P(FE)=P(EF)P(F)P(E)P(F | E) = \frac{P(E|F)P(F)}{P(E)}

让我们将全概率定律代入分母中:P(FE)=P(EF)P(F)P(EF)P(F)+P(EFC)P(FC)P(F | E) = \frac{P(E|F)P(F)}{P(E|F)P(F) + P(E|F^{C})P(F^{C})}

有了贝叶斯定理,我们可以使用链式法则和全概率定律从一种条件概率形式转换为另一种。

参考文献:

CS109

致谢

感谢 Udbhas Mitra 对这篇博文的初步审阅。

社区

注册登录 发表评论