初识贝叶斯公式:从因到果,还是从果到因?

创建时间:2026-07-20 更新时间:2026-07-20 阅读次数:1008 次

你有没有想过这样一类问题:

  • 早上起来发现院子里的草地湿了。是昨晚下过雨,还是自动喷水器开过了?
  • 体检时某项癌症筛查结果是阳性。你有多大可能真的得了癌症?
  • 你的邮箱收到一封邮件,里面出现了“免费”“大促”等字眼。这封邮件是垃圾邮件的概率有多大?

这些问题的共同点是:我们观察到一个结果,想反推这个结果是由什么原因造成的。
而解决这类逆向推理的工具,就是大名鼎鼎的贝叶斯公式

要理解贝叶斯公式,我们得从最朴素的起点——条件概率——开始聊起。

条件概率:在已知的世界里衡量可能性

假设你抛一枚均匀的骰子。不考虑其他信息时,抛出数字 $6$ 的概率是 $1/6$。

但如果我偷偷告诉你,抛出的数字是偶数,那么此时抛出 $6$ 的概率就变成了多少?
因为结果只可能是 ${2, 4, 6}$ 这三种,而且它们出现的机会均等,所以 $6$ 的概率变成了 $1/3$。

这其实就是条件概率的直觉:在新的信息下,我们重新划定可能结果的范围,然后在缩小后的世界里重新计算概率。

我们用 $P(A|B)$ 来表示:在事件 $B$ 已经发生的条件下,事件 $A$ 发生的概率。它的定义是:

$$ P(A|B) = \frac{P(A \cap B)}{P(B)} $$

解释一下:分母 $P(B)$ 就是我们“已知”的条件的世界(例如“数字是偶数”),分子 $P(A \cap B)$ 是 $A$ 和 $B$ 同时发生的那部分(例如“既是6又是偶数”)。两者一除,就完成了范围的缩放。

这个定义可以变一下形,写成乘法公式:

$$ P(A \cap B) = P(A|B) \cdot P(B) $$

同理,如果我们以 $A$ 为条件,也能得到:

$$ P(A \cap B) = P(B|A) \cdot P(A) $$

这两个等式,就是接下来一切推导的地基。

全概率公式:把一条完整的因果链拼起来

在接触贝叶斯公式之前,我们还需要一个工具:全概率公式。它回答的是另一个问题:如果我们知道各种“原因”以及它们各自产生“结果”的可能性,那么这个“结果”总的发生概率是多少?

这其实就是沿着“原因→结果”的方向,把整体概率算出来。

设想有若干个互斥且穷尽所有可能的原因 $B_1, B_2, \ldots, B_n$。打个比方,草地变湿(结果 $A$)可能只由两个互斥原因导致:$B_1$ 是“昨晚下过雨”,$B_2$ 是“昨晚没下雨但自动喷水器开了”。(这里暂时忽略既下雨又开喷水器的情况,或将其视作极低概率事件。)

那么,草地变湿这件事,可以分两条路完成:

1、下了雨,并且草地变湿了。 2、没下雨但开了喷水器,并且草地变湿了。

写成概率语言,就是:

$$ \begin{aligned} P(A) &= P(A \cap B_1) + P(A \cap B_2) + \ldots + P(A \cap B_n) \\ &= P(A|B_1)P(B_1) + P(A|B_2)P(B_2) + \ldots + P(A|B_n)P(B_n) \end{aligned} $$

写成更紧凑的形式,这就是全概率公式

$$ P(A) = \sum_{i=1}^n P(A|B_i) P(B_i) $$

它的本质,就是把复杂事件的概率,拆解成“各条路径上的概率”之和。

贝叶斯公式:从结果倒推原因

有了条件概率和全概率公式,贝叶斯公式其实已经呼之欲出了。

在许多实际问题中,我们容易知道“原因导致结果的概率”——比如“得了癌症的人,筛查呈阳性的概率”(这来自医学检验数据),但我们真正想知道的是它的反面——“筛查呈阳性的人,真正得了癌症的概率”。
前者是 $P(\text{阳性}|\text{患癌})$,后者是 $P(\text{患癌}|\text{阳性})$。

让我们回到条件概率的定义。事件 $A$ 和 $B_i$ 同时发生的概率,用两种方式写出来:

$$ P(A \cap B_i) = P(A|B_i)P(B_i) $$ $$ P(A \cap B_i) = P(B_i|A)P(A) $$

它们俩都等于同一个东西,所以:

$$ P(B_i|A)P(A) = P(A|B_i)P(B_i) $$

把 $P(A)$ 移到右边,就得到:

$$ P(B_i|A) = \frac{P(A|B_i)P(B_i)}{P(A)} $$

这就是贝叶斯公式的原始形态。
而分母 $P(A)$ 又可以用全概率公式展开成 $\sum_{j} P(A|B_j)P(B_j)$,于是我们得到最实用的版本:

$$ P(B_i|A) = \frac{P(A|B_i)P(B_i)}{\sum_{j=1}^n P(A|B_j)P(B_j)} $$

把符号还原成直觉

这个公式里的每一项都有生动的含义:

  • $P(B_i)$ 叫作先验概率。它是我们在观察到任何新证据之前,对原因 $B_i$ 的原有信念。比如,“根据发病率,人群中随便一个人患此癌的概率”。
  • $P(A|B_i)$ 叫作似然度。它是“如果原因 $B_i$ 是真的,观察到结果 $A$ 的可能性有多大”。比如,“真患癌的人被查出来的概率”。
  • $P(A)$ 是结果 $A$ 总的发生概率,相当于一个归一化因子。
  • $P(B_i|A)$ 叫作后验概率。它是我们看到结果 $A$ 之后,对原因 $B_i$ 更新过的信念。比如,“筛查阳性后,这个人真正患癌的概率”。

贝叶斯公式的精髓,就在于用似然度去修正先验概率,从而得到后验概率
这完美模仿了人类学习的过程:先抱有一个初始看法,然后不断用新事实去修正它。

一个通俗的例子

我们来完整走一遍那个“草地湿了”的例子。

  • 根据当地气候,随便挑一个早晨,昨晚下过雨的概率是 $P(B_1) = 0.3$。
  • 昨晚没下雨但自动喷水器开了的概率是 $P(B_2) = 0.2$。
  • 也就是说,既没下雨也没开喷水器、草地理应干燥的概率是 $0.5$(这三个原因互斥且穷尽)。

接下来是因果规律:

  • 如果昨晚下了雨,草地一定会湿:$P(A|B_1) = 1$。
  • 如果自动喷水器开了,草地变湿的概率也很高,比如 $P(A|B_2) = 0.9$(可能有些地方喷不到)。
  • 如果既没下雨也没开喷水器,草地自然干着:$P(A|B_3) = 0$。

现在,你早上起来,推开门,发现草地是湿的。这个结果 $A$ 发生了。
你想知道,最可能的原因是什么?是雨还是喷水器?

先算草地变湿的总概率(全概率公式):

$$ \begin{aligned} P(A) &= P(A|B_1)P(B_1) + P(A|B_2)P(B_2) + P(A|B_3)P(B_3) \\ &= 1 \times 0.3 + 0.9 \times 0.2 + 0 \times 0.5 \\ &= 0.3 + 0.18 \\ &= 0.48 \end{aligned} $$

现在用贝叶斯公式,反推“湿草地是由下雨导致”的概率:

$$ P(B_1|A) = \frac{P(A|B_1)P(B_1)}{P(A)} = \frac{1 \times 0.3}{0.48} = 0.625 $$

而“湿草地是由喷水器导致”的概率:

$$ P(B_2|A) = \frac{P(A|B_2)P(B_2)}{P(A)} = \frac{0.9 \times 0.2}{0.48} = 0.375 $$

你看,在没观察之前,下雨的先验概率只有 $0.3$;看到湿草地后,下雨的后验概率上升到了 $0.625$,成为更有可能的解释。贝叶斯公式完成了从果到因的精确推断。

贝叶斯思维的启示

贝叶斯公式不只是个计算工具,它更代表一种实事求是的认知态度:

  • 坦率承认先验:我们的判断总带有主观起点,这并不可耻,关键是要把它清晰地摆出来。
  • 尊重客观证据:似然度就是客观规律或数据,它负责对先验进行校准。
  • 迭代更新:今天看到湿草地得到的后验概率,可以当作明天的先验,如果明天又观察到新迹象,就可以继续更新,让认知不断逼近真实。

从医疗诊断、垃圾邮件过滤、机器学习,到法庭上的证据推理、人工智能的不确定性处理,贝叶斯公式都在背后默默发力。理解它,就是理解概率论如何帮助我们在充满不确定性的世界里,更理性地思考和决策。

本教程共19节,当前为第12节!
本教程最新修订时间为:2026-07-22 00:39:56