跳转至

讲解稿 · 第05章 第02节 · 概率概念

口播时长:约 18 分钟|建议语速:中速,公式处停两拍|字数:约 4200 字


开场钩子(约 80 秒)

先抛一道题。

电视上有个游戏节目,主持人让你在三扇门里挑一辆车。一扇后面是真车,另外两扇后面是山羊。你挑了第 1 扇,主持人——他知道答案——故意打开第 3 扇给你看,那里是山羊。然后主持人问:你要不要换成第 2 扇?

绝大多数人会说"换不换都一样吧,反正剩两扇,一半对一半"。

错。

如果换,赢的概率是 2/3;不换,只有 1/3。这是 1990 年《Parade》杂志刊登的一道题,登出来之后几千封读者来信骂主持人"脑子有病"——包括几百位博士。大多数人都栽在这道题上。

为什么?因为人的直觉跑在错误的概率模型上。本能告诉你"剩两个所以 1/2",但事实是主持人打开了那扇山羊门,他的动作带了信息——你原先挑中的概率没变(1/3),整段剩余概率(2/3)被挤到了第 2 扇。

这就是概率思维。它不是中学数学里那个"古典概型数数题"的延伸,而是一套形式化规则——从今天开始我们要把这套规则讲透。这套规则撑起了所有机器学习模型:朴素贝叶斯分类器、GMM 语音识别、Transformer 语言模型的概率输出,全都长在同一根数学骨骼上。

扶稳了,我们开始。


复习昨日 & 今日路线(约 40 秒)

上一节我们用 Ch04 那把"统计语言"的钥匙——分布、随机变量、PMF、PDF、期望、方差、矩、CLT——把"随机"这件事翻译成了可计算的数。今天起我们翻进概率论。Ch04 给了应用层的速览(中心极限定理怎么用),Ch05 开始往里走:走进样本空间 σ-代数 概率测度这测度论三件套,走过条件概率/独立性/贝叶斯定理这一串推理规则,最后落地到 ML 里的 softmax、Bayesian 更新、链式法则的工程应用。

下一节 §03 我们讲随机变量与分布族——Bernoulli、Binomial、Poisson、Exponential、Normal,把今天的概率公理装到具体的"分布"容器里。


核心概念一 · 频率派 vs 贝叶斯派——两种哲学,一种数学(约 2 分钟)

先回答一个根本问题:"概率"到底是什么?

这是 20 世纪初统计学界打得最凶的一架,迄今没停过。

频率派 (frequentist) 的回答很朴素:概率就是长期相对频率。把硬币抛 10000 次,正面占 5000 次,你说"正面概率 0.5"——这个 0.5 不是猜测,是频率的极限。

贝叶斯派 (Bayesian) 的回答更主观:概率是信念强度。你说"明天下雨概率 70%"——明天下不下雨只发生一次,没有"频率"可言。但你可以基于今天的云图、气压、湿度,给出你对这件事的相信程度。

听起来分歧巨大,但用同一套数学公式。差别在哲学起点,不在计算结果。

这条区别为什么要在 ML 课里讲?因为它决定了你怎么训练模型。频率派给你点估计("次品率是 0.02"),贝叶斯派给你参数上的完整分布("次品率是一个分布,均值 0.02,方差 0.0001")。Transformer 训练里做 MLE 估计是频率派,做 Bayesian neural network 是贝叶斯派——两类工具都在用,今天这套公理两边都成立。

黑板动作:画两个竖轴,左边写"频率 → 极限",右边写"信念 → 强度",下面共用同一组公式(加法、乘法、贝叶斯)。


核心概念二 · 样本空间与事件——把世界装进集合(约 2.5 分钟)

现在进形式化定义。Ch04 是直觉在先;Ch05 是公理在先。

样本空间 (sample space) \(\Omega\)——一次实验所有可能结果的集合。

抛一枚硬币,\(\Omega = \{H, T\}\)。掷一颗骰子,\(\Omega = \{1, 2, 3, 4, 5, 6\}\)。测明天上海的最高气温(精确到 0.01°C),\(\Omega = \{-50.00, -49.99, \ldots, 60.00\}\)——这是个连续无穷的样本空间。

事件 (event) \(A\)——样本空间的子集。\(A \subseteq \Omega\)。"掷出偶数"就是事件 \(A = \{2, 4, 6\}\)。

当 \(\Omega\) 里所有结果等可能时,最朴素的概率计算就是数数:

\[P(A) = \frac{|A|}{|\Omega|} = \frac{\text{有利结果数}}{\text{总结果数}}\]

数字例子:掷骰子出偶数,\(P(\text{even}) = 3/6 = 0.5\)。

⚠️ 这里有个 Ch04 就埋下的坑要复习:等可能假设。古典概型只在所有结果等可能出现时成立。如果骰子灌了铅,正面反面不等概率,这公式立刻失效。把它当成"硬币公平骰子公平"等理想条件下的快速公式,不是定义。

符号首现(四件套走一遍):

\(\Omega\) — 样本空间 (sample space):一次实验所有可能结果的集合。例子:掷骰子 \(\Omega = \{1,2,3,4,5,6\}\)。

\(A \subseteq \Omega\) — 事件 (event):样本空间的子集。例子:\(A = \{2, 4, 6\}\)(偶数)。

为什么 \(\Omega\) 在 Ch05 这里要从集合升级到测度?因为 \(\Omega\) 无穷大时(连续随机变量),集合论已经装不下了,需要σ-代数 \(\mathcal{F}\)——但主干课我们不展开,知道有这事就行。下次碰到"可测函数""Borel 集",就是这层在撑。


核心概念三 · 概率的三条 Kolmogorov 公理(约 3 分钟)

Ch04 §05 我们提过"概率公理",今天 Ch05 给严格版。

俄罗斯数学家 Kolmogorov 在 1933 年把概率的形式化基础降维成三条公理——少得惊人,但够用。

公理 1 · 非负性:对任意事件 \(A\),\(P(A) \ge 0\)。

大白话:概率不能是负的。反例:如果哪个模型告诉你"下雨概率是 -0.2",立刻知道这是错的。

公理 2 · 规范性:\(P(\Omega) = 1\)。

大白话:整个样本空间的概率就是 1。反例:如果一个模型告诉你"今天要么下雨要么不下雨,概率之和 1.2",违反规范性,是概率分配出错了。

公理 3 · 可列可加性(Ch04 应用版只讲了有限可加性,这是测度论深度版):如果 \(A_1, A_2, \ldots\) 是一列两两互斥的事件,那么

\[P(A_1 \cup A_2 \cup \cdots) = \sum_{i=1}^{\infty} P(A_i)\]

大白话:无穷多个互斥事件的概率,可以一项一项加起来——只要不重不漏。

反例:如果不互斥,可加性立刻崩。Ch04 学生常掉的坑:把"\(\{1,2\} \cup \{2,3\} = \{1,2,3\}\)"误算成 \(1/2 + 1/2 = 1\),结果 \(\{1,3\}\) 被算漏、\(\{2\}\) 被算重。

⏸️ 暂停思考 · 第一次

想象一个连续随机变量 \(X\)(比如身高)。样本空间是无穷大的实数区间。Kolmogorov 公理 3 的"可列可加性"为什么对它特别重要——而 Ch04 用的有限可加性为什么不够?

核心概念四 · 补集、加法、互斥——集合论那点事(约 2.5 分钟)

三条公理直接推出一组常用公式。

补集公式:事件 \(A\) 不发生的概率是 \(P(A^c) = 1 - P(A)\)。

数字例子:5 次独立抛硬币,至少一次正面的概率不是直接算所有"至少一次正面"的情形(很乱),而是反过来——一次正面都没有再减掉:\(P(\text{at least one head}) = 1 - (0.5)^5 = 1 - 0.03125 = 0.969\)。

互斥事件加法法则:如果 \(A \cap B = \emptyset\)(不可能同时发生),那么 \(P(A \cup B) = P(A) + P(B)\)。

掷骰子出 2 和出 5 是互斥的——一颗骰子不可能同时显示两个面。\(P(\{2\} \cup \{5\}) = 1/6 + 1/6 = 1/3\)。

一般加法法则(容斥原理):如果 \(A\)、\(B\) 可能重叠,

\[P(A \cup B) = P(A) + P(B) - P(A \cap B)\]

减号那项是修补:"交集被 \(P(A)\) 数了一次,又被 \(P(B)\) 数了一次,得砍掉一次"。这是 Ch05 第一节"数数"那段的直接升级,韦恩图里那个紫色交叉区减一次才对。

数字例子:一副标准扑克 52 张,\(A\) = 红色(26 张),\(B\) = King(4 张)。红色 King 有 2 张,\(A \cap B = 2\) 张。\(P(A \cup B) = 26/52 + 4/52 - 2/52 = 28/52 = 7/13\)。

符号首现(四件套走一遍):

\(\emptyset\) — 空集 (empty set):不含任何元素的集合。例子:把一颗骰子同时掷出"偶数"和"奇数"是不可能的,\(A \cap A^c = \emptyset\)。

\(A \cap B\) — 交集 (intersection):\(A\) 与 \(B\) 同时发生。例子:红色 King = \(\{2\text{张红心 K}, 2\text{张方块 K}\}\) 中重合的部分。

\(A \cup B\) — 并集 (union):\(A\) 或 \(B\) 中至少一个发生。例子:红色 \(\cup\) King = 26 张红 + 4 张 King - 2 张红心/方块 K = 28 张。


核心概念五 · 条件概率——把世界缩小(约 3 分钟)

最强大的一步:已知一部分信息后,概率怎么变。

条件概率 (conditional probability):

\[P(A | B) = \frac{P(A \cap B)}{P(B)}, \quad P(B) > 0\]

直觉上:把样本空间从 \(\Omega\) 缩小到 \(B\)——既然 \(B\) 已经发生,那"在 \(B\) 这个子世界里 \(A\) 占多大一块"?

数字例子:你抽了一张牌,别人告诉你"这张牌是红色的"。它是 King 的概率?红牌有 26 张,其中 2 张是 King,\(P(\text{King} | \text{red}) = 2/26 = 1/13\)。用公式验证:\(P(\text{King} \cap \text{red}) / P(\text{red}) = (2/52) / (26/52) = 1/13\) ✓。

这里有一件工程上极重要的事:条件概率可以剧烈地改变我们对事件的看法。开场的 Monty Hall 题里,"主持人打开了第 3 扇"这件事把"第 1 扇真有车"的概率仍然保持 1/3,但"第 2 扇有车"的条件概率从原先的 1/3 暴涨到 2/3。这正是 ML 里后验更新的雏形。

符号首现(四件套走一遍):

\(P(A | B)\) — 条件概率 (conditional probability):已知 \(B\) 发生时 \(A\) 的概率。例子:\(P(\text{King} | \text{red}) = 1/13\)。


核心概念六 · 独立性——"知道这件事对我毫无帮助"(约 2 分钟)

独立 (independence) 的定义有等价两种写法:

\[P(A \cap B) = P(A) \cdot P(B) \quad \text{iff} \quad P(A | B) = P(A)\]

两种写法一个意思:知道 \(B\) 发生,\(A\) 的概率不变——那 \(B\) 就是"对 \(A\) 没用"的信息。

数字例子:抛两枚独立的硬币,每枚正反各 1/2。两枚都正面:\(P(\text{HH}) = 1/2 \times 1/2 = 1/4\)。

反例:不放回抽两张牌不是独立的。第一张抽走红心 K,剩 51 张里少了一张,\(P(\text{第二张是红心 K} | \text{第一张抽走红心 K}) = 0\),不等于原来的 \(1/52\)。牌堆的组成变了,事件之间就不再独立。

独立性是巨大的简化器。独立事件的联合概率拆成乘积,计算可行。朴素贝叶斯 (Naive Bayes) 分类器硬性假设各特征之间独立——这假设多半不真(特征之间一般相关),但换来了 \(\mathcal{O}(n)\) 的训练复杂度,工业界用得飞起。这是一笔用真实性换计算性的交易,工程里常见。


核心概念七 · 贝叶斯定理——反向推理(约 3 分钟)

贝叶斯定理 (Bayes' theorem)——概率论里最常被引用、也最容易用错的一条公式:

\[P(A | B) = \frac{P(B | A) \cdot P(A)}{P(B)}\]

证明极简短:\(P(A \cap B)\) 可以写成 \(P(A|B) \cdot P(B)\) 也可以写成 \(P(B|A) \cdot P(A)\),把它俩相等、解出 \(P(A|B)\) 就完了。

四个组成部件有名字,Ch04 §05 你可能见过,今天要把它们各自独立算清:

  • 先验 (prior) \(P(A)\):证据 \(B\) 出现之前你对 \(A\) 的信念。
  • 似然 (likelihood) \(P(B|A)\):假设 \(A\) 为真时,证据 \(B\) 出现的可能性。
  • 证据 (evidence) \(P(B)\):证据出现的总概率(分母里的归一化项)。
  • 后验 (posterior) \(P(A|B)\):看到 \(B\) 之后更新过的信念。

走一遍经典医学诊断:某种病影响 1% 人口。检测灵敏度 \(P(+|D) = 0.95\),特异度 \(P(-|D^c) = 0.90\),换言之假阳率 \(P(+|D^c) = 0.10\)。

你测出阳性。真得病的概率是多少?

第一步:全概率公式(law of total probability),把人群按"得病/没病"两块切:

\[P(+) = P(+|D)P(D) + P(+|D^c)P(D^c) = 0.95 \times 0.01 + 0.10 \times 0.99 = 0.0095 + 0.099 = 0.1085\]

第二步:套 Bayes 公式:

\[P(D|+) = \frac{0.95 \times 0.01}{0.1085} \approx 0.088\]

检测号称 95% 准,一次阳性后真正得病的概率只有约 8.8%。先验太关键:病少见,假阳性堆积。这是任何类别不平衡问题(罕见病检测、欺诈识别、垃圾邮件)的核心警告——光看准确率会严重误导。

⏸️ 暂停思考 · 第二次

如果你再做一次检测,仍然是阳性,那 \(P(D | ++)\) 会怎么变?后验分布怎么更新?


核心概念八 · 链式法则与全概率——从二元到多元(约 2.5 分钟)

乘法法则 (multiplication rule) 是条件概率公式的直接变形:

\[P(A \cap B) = P(A|B) \cdot P(B) = P(B|A) \cdot P(A)\]

推广到 \(n\) 个事件就是链式法则 (chain rule):

\[P(A_1 \cap A_2 \cap \cdots \cap A_n) = \prod_{i=1}^{n} P(A_i | A_1 \cap \cdots \cap A_{i-1})\]

每一项都把前面所有事件当成条件。

这条公式是自回归语言模型(GPT 这类)的骨架。一个句子 \(w_1 w_2 \ldots w_n\) 的概率,等于每个词在其之前所有词条件下的概率的乘积:

\[P(w_1, \ldots, w_n) = \prod_{i=1}^{n} P(w_i | w_1, \ldots, w_{i-1})\]

Transformer 训练时优化的就是这个概率的负对数——今天我们埋下这个连接,下一节随机变量讲"语言模型 perplexity"就要把它展开。

条件独立 (conditional independence)——同样重要:

\[P(A \cap B | C) = P(A | C) \cdot P(B | C)\]

边缘相关但给定第三方后独立——两个学生的考试成绩相关(都受考试难度影响),但给定难度之后,两人成绩就独立了。这是贝叶斯网络(Bayesian network)的关键假设:把复杂的联合分布按条件独立关系拆成小块,让推断在计算上可行。


一个走完全程的例子(约 2.5 分钟)

把所有概念串一遍。还是医学诊断,这次走两步更新。

背景:某种罕见病流行率 \(P(D) = 0.01\)。检测灵敏度 \(P(+|D) = 0.95\),特异度 \(P(-|D^c) = 0.90\)。

第一轮阳性:用 Bayes 公式得 \(P(D|+) \approx 0.088\)(上一节算过)。一次阳性的证据把信念从 1% 拉到 8.8%——涨了 8 倍,但离"该治疗"还差得远。

再做一次检测,仍然阳性。我们用第一次更新出的后验当新的先验,套 Bayes:

\[P(D | +_2) = \frac{P(+|D) \cdot P(D|+_1)}{P(+|+_1)}\]

全概率(\(+_1\) 当先验分母):

\[P(+|+_1) = 0.95 \times 0.088 + 0.10 \times 0.912 = 0.0836 + 0.0912 = 0.1748\]
\[P(D | +_2) = \frac{0.95 \times 0.088}{0.1748} \approx 0.478\]

第二次阳性已经把后验推到约 47.8%。两次独立阳性翻 48 倍。

第三次:

\[P(D | +_3) \approx 0.963\]

三次独立阳性 ≈ 96.3% 真患病。

这一个例子把今天所有概念穿成串:

  • 样本空间与事件:人群根据(\(D\) vs \(D^c\))切成两块。
  • 条件概率 + 全概率:\(P(+)\) 按 \(D\) / \(D^c\) 划分求和。
  • 贝叶斯定理:单次更新从 1% 到 8.8%。
  • 链式法则 + 后验迭代:多次更新把信念推过临界点。

工程上等同:朴素贝叶斯垃圾邮件过滤器就是这样工作的——每出现一个"free""viagra""优惠"词,把"是垃圾邮件"的后验往上推;多次特征证据累积,最终越过 0.5 阈值判为垃圾邮件。Bayesian inference = belief in motion。

⏸️ 暂停思考 · 第三次

为什么"两次同样独立的阳性"不是各乘 0.95 / 0.1 简单叠加?这里独立性和顺序更新的角色分别是什么?


易错点回头看(约 90 秒)

三条今天最常翻车的地方:

坑一 · 很多人以为 "等可能假设无脑成立",其实古典概型只在所有结果等可能出现时才是 \(P(A) = |A|/|\Omega|\)。加权骰子、非均匀硬币、不放回抽样都立刻让它失效。一看见概率题,先默念一遍"等可能成立吗?"

坑二 · 很多人以为 "\(P(A|B)\) 改成 \(P(B|A)\) 结果不变",其实这两者几乎永远不等。医学诊断那道题把 \(P(+|D) = 0.95\) 误读成 \(P(D|+) = 0.95\) 是最经典的错。Bayes 定理存在的全部理由,就是去反转这两个方向。

坑三 · 很多人以为 "独立就是没关系",其实独立说的是概率可乘——\(P(A \cap B) = P(A) P(B)\)。反例:穿袜子和穿鞋"几乎独立"在日常生活中——但脚上穿鞋必然意味着穿袜子(在今天大多数文化里)。这种"形式独立但语义相关"的事件在 ML 里到处都是,朴素贝叶斯硬性假设特征独立就是这个意思——简化归简化,别忘了它是假设不是事实。


与下节的钩子(约 30 秒)

今天我们把概率论的形式化骨架搭好了——样本空间、Kolmogorov 三公理、条件概率、独立性、Bayes 定理。但所有这些还没有"数字进、概率出"的工程接口。

下一节 §03 随机变量与分布族,我们把这些抽象规则装到具体的容器里——Bernoulli、Binomial、Poisson、Exponential、Normal、Beta、Gamma——每一个分布有自己的故事:Poisson 描述稀有事件、Exponential 描述等待时间、Normal 是 CLT 的极限归宿。我们还会见到 ML 里最常用的引擎:softmax(就是归一化的对数概率)和语言模型 perplexity(就是交叉熵的指数),以及 KL 散度作为"两个分布距离"的工程语言。

下次见。