第10章 用概率处理不确定性
一项疾病检测的灵敏度是 99%,也就是患病者中约有 99% 会得到阳性结果。现在,一位检测阳性的人问:“我有多大概率真的患病?”
答案不是自动等于 99%。它还取决于疾病原本有多常见、未患病者出现假阳性的比例,以及接受检测的人群是否与统计数据相同。
这个例子展示了不确定性推理中最常见的错位:我们知道“患病时检测阳性的概率”,却被问到“检测阳性时患病的概率”。两者看起来只交换了条件顺序,数值却可能相差很远。
搜索和规则系统主要追问哪些行动合法、哪些结论可推出。机器学习还经常面对另一种情况:信息不完整,观测有噪声,同样的输入不总对应同一个结果。此时系统不只要选一个类别,还要表达证据支持各种可能性的程度。
概率必须带着条件读
概率用 0 到 1 之间的数表示事件的不确定程度。\(P(A)=0\) 表示事件在模型中不可能,\(P(A)=1\) 表示确定;中间数值表示不同程度的不确定性。
但概率几乎总依赖一个背景。天气预报说“明天下雨概率 70%”,隐含了地点、时间范围、气象资料和预报模型。模型说“这张图片是猫的概率 90%”,隐含了训练数据、候选类别、输入处理和当前参数。离开这些条件,数字很容易显得比实际更确定。
两个事件同时发生的概率叫作联合概率,写作 \(P(A,B)\) 或 \(P(A\cap B)\)。在已经知道 \(B\) 发生的条件下,\(A\) 的概率叫作条件概率:
\[ \begin{aligned} P(A\mid B)&=\frac{P(A,B)}{P(B)} \\ P(B)&>0 \end{aligned} \]
分母 \(P(B)\) 把范围缩到所有满足 \(B\) 的情况,分子再数其中同时满足 \(A\) 的部分。
条件概率通常不对称。\(P(\text{阳性}\mid\text{患病})\) 描述检测对患病者有多敏感;\(P(\text{患病}\mid\text{阳性})\) 描述阳性结果对当前人的含义。两者通过基准率联系,但不能直接互换。
用一千人看懂基准率
假设某病在人群中的比例是 1%,检测对患病者有 99% 的阳性率,对未患病者有 5% 的假阳性率。取 1000 个与这组人群相似的人:
| 人群 | 人数 | 检测阳性 | 检测阴性 |
|---|---|---|---|
| 患病 | 10 | 约 10 | 约 0 |
| 未患病 | 990 | 约 50 | 约 940 |
| 合计 | 1000 | 约 60 | 约 940 |
阳性者约有 60 人,其中真正患病约 10 人。因此,在这些假设下:
\[ P(\text{患病}\mid\text{阳性})\approx\frac{10}{60}\approx16.7\% \]
检测本身并不差。意外结果来自低基准率(base rate):未患病者远多于患病者,即使假阳性比例只有 5%,人数仍能超过真阳性。
自然频数表常比直接套公式更容易发现条件方向错误。它也迫使我们说明样本来自什么人群。若在高风险门诊使用同一检测,患病基准率更高,阳性后的患病概率也会更高。
核心机制
概率判断必须把当前证据与原有基准率一起考虑。新证据改变不同假设的相对支持,但后验结论同时取决于证据有多能区分假设,以及假设在观察证据前有多常见。
贝叶斯公式:从先验走到后验
由条件概率定义可以得到贝叶斯公式:
\[ P(H\mid E)=\frac{P(E\mid H)P(H)}{P(E)} \]
其中:
- \(H\) 是假设,例如“患病”;
- \(E\) 是证据,例如“检测阳性”;
- \(P(H)\) 是观察证据前的先验概率(prior);
- \(P(E\mid H)\) 是假设成立时出现该证据的概率;
- \(P(H\mid E)\) 是结合证据后的后验概率(posterior);
- \(P(E)\) 负责把所有假设下的结果归一化,使后验概率总和为 1。
Thomas Bayes 去世后发表的论文研究了从观测结果反推未知机会的问题。(Bayes 1763年) Pierre-Simon Laplace 等人随后广泛发展了相关思想。今天所谓“贝叶斯方法”涵盖许多模型与计算技术,但共同骨架仍是:用概率表达先前不确定性,再用观测更新。
贝叶斯公式不是一台把主观意见自动变成真理的机器。先验从哪里来、似然模型是否正确、候选假设是否遗漏,都会影响后验。如果检测灵敏度来自不同年龄人群,直接用于当前患者就可能不合适;如果所有候选诊断都没有包含真正病因,归一化也不会创造正确答案。
似然不是“参数为真的概率”
贝叶斯公式中的 \(P(E\mid H)\),在把观测 \(E\) 固定、把假设或参数 \(H\) 当作变量比较时,称为似然(likelihood)。这一区别容易被符号掩盖。
假设抛一枚硬币 10 次,观察到 8 次正面。令 \(\theta\) 表示每次出现正面的概率。在给定 \(\theta\) 时,观察到这组数据的概率为:
\[ P(D\mid\theta)=\binom{10}{8}\theta^8(1-\theta)^2 \]
数据已经观察到后,我们把右边看作 \(\theta\) 的函数 \(L(\theta;D)\)。它回答:“不同参数值对这份数据提供多大相对支持?”
它并不自动等于 \(P(\theta\mid D)\)。要讨论参数的后验概率,还需要参数的先验分布并使用贝叶斯公式。似然可以比较 \(\theta=0.8\) 与 \(\theta=0.5\) 哪个更能解释数据,却不能在没有额外假设时说“\(\theta=0.8\) 的概率是多少”。
Ronald Fisher 在 20 世纪早期系统发展了似然在统计推断中的作用。(Fisher 1922年) 频率学派与贝叶斯学派对参数和概率的解释不同,但现代机器学习会同时使用两边发展出的工具。
最大似然:选择最能解释数据的参数
最大似然估计(maximum likelihood estimation, MLE)选择使已观察数据概率最大的参数:
\[ \hat{\theta}_{\mathrm{MLE}} =\arg\max_{\theta}P(D\mid\theta) \]
如果训练样本在给定参数后被假设为相互独立,整个数据集的似然是每个样本概率的乘积:
\[ P(D\mid\theta)=\prod_{i=1}^{n}P(y_i\mid x_i,\theta) \]
许多小于 1 的数相乘会变得极小,也不便于求导。取对数后,乘积变成求和,而最大值位置不变:
\[ \hat{\theta}_{\mathrm{MLE}} =\arg\max_{\theta}\sum_{i=1}^{n} \log P(y_i\mid x_i,\theta) \]
因此,最小化负对数似然等价于最大化似然。上一章逻辑回归的交叉熵,正是伯努利标签模型的负对数似然。这建立了一条重要连接:损失函数并不总是任意惩罚,它常对应一组关于数据怎样生成的概率假设。
技术深潜:损失函数背后的噪声假设
若回归模型假设:真实目标等于预测均值加上方差固定的高斯噪声,
\[ \begin{aligned} y_i&=f_\theta(x_i)+\varepsilon_i \\ \varepsilon_i&\sim\mathcal{N}(0,\sigma^2) \end{aligned} \]
那么最大化数据似然,忽略与参数无关的常数后,等价于最小化平方误差:
\[ \sum_{i=1}^{n}\left(y_i-f_\theta(x_i)\right)^2 \]
若改用另一种噪声分布,可能得到绝对误差等不同目标。选择损失函数,就是在表达“哪些错误更可能、哪些错误代价更大”的假设。
最大似然也会过拟合。一个足够灵活的模型可能给训练样本极高概率,却在新数据上很差。加入参数先验、正则化或模型复杂度约束,仍然需要第 8 章的泛化检查。
朴素贝叶斯:一个有用的强假设
假设要判断一封邮件是否为垃圾邮件。根据贝叶斯公式,可以比较:
\[ \begin{aligned} P(\text{垃圾}\mid\text{词语}) &\propto P(\text{词语}\mid\text{垃圾}) \\ &\quad\times P(\text{垃圾}) \end{aligned} \]
问题在于,所有词语组合的联合概率很难估计。朴素贝叶斯(naive Bayes)作出强假设:在给定类别后,各特征条件独立。于是:
\[ P(x_1,\ldots,x_d\mid y) =\prod_{j=1}^{d}P(x_j\mid y) \]
现实中的词当然不独立,“机器”与“学习”经常一起出现。这个假设之所以仍可能有效,是因为分类不要求联合概率的每个细节都精确,只要求不同类别的相对分数常能把样本排到正确一侧。
这展示了归纳偏置(inductive bias)的作用:模型通过假设缩小可能规律的范围,才能从有限数据中学习。假设完全符合现实最好;即使不完全符合,只要对当前决策足够有用,也可能取得良好分类结果。第 11 章将比较更多算法携带的不同偏置。
不过,朴素贝叶斯的概率值常需要谨慎解释。条件独立假设错误时,重复或相关特征可能让证据被多次计算,使输出过度自信。分类准确率不错,不代表概率已经校准。
准确率回答不了“有多确定”
设两个模型在 100 场比赛中都猜对 80 场。
- 模型 A 每次都报胜率 0.8;
- 模型 B 对猜对的 80 场报 0.99,对猜错的 20 场也自信地报 0.99 给错误一方。
若只看最终类别,两者准确率相同;若这些概率用于下注、医疗分诊或风险控制,模型 B 的过度自信会造成更大损失。
一个二分类模型若在所有预测约为 0.7 的样本中,实际约有 70% 为正类,就在这一段上具有良好概率校准(calibration)。校准关注长期频率与预测概率是否一致,不要求单个事件的真假能由概率预先确定。
天气预报是直观例子。不能因为某天预报降雨概率 70% 却没有下雨,就断言预报错误;应观察许多类似的 70% 预报,其中是否大约七成真的下雨。
技术深潜:用适当评分奖励诚实概率
对二分类事件,Brier 分数是预测概率与结果之间的平方误差:
\[ \mathrm{Brier}=\frac{1}{n}\sum_{i=1}^{n}(p_i-y_i)^2 \]
\(p_i\) 是正类预测概率,\(y_i\) 为 0 或 1。分数越低越好。Glenn Brier 在天气预报评价中提出了这种概率评分。(Brier 1950年)
它会同时惩罚方向错误和过度自信。真实结果为 1 时,报 0.9 的损失是 \(0.01\),报 0.1 的损失是 \(0.81\)。若评测只看阈值后的类别,这两次预测可能一个对、一个错;Brier 分数还保留了置信程度。
适当评分规则的关键性质是:当预测者按自己真实相信的概率报告时,期望得分最好。它减少了故意把不确定预测夸成 0 或 1 的激励。对数损失也是常见的适当评分规则,对把真实事件赋予接近零概率的行为惩罚尤其大。
校准与区分能力并不相同。一个模型总报总体阳性率,可能校准尚可,却不能区分谁风险更高;另一个模型排序能力强,却整体过度自信。可靠评价需要同时检查准确率或排序、校准曲线、具体决策阈值与错误成本。Dawid 对概率预报的校准性质作过经典讨论。(Dawid 1982年)
两种不确定性不要混在一起
模型不确定可能来自不同来源。
第一类来自现象本身的随机性或未观测因素。即使知道很多信息,同样条件下结果仍可能不同,例如掷骰子、量子测量,或我们没有记录所有影响病情的变量。这常称为数据不确定性或偶然不确定性。
第二类来自知识不足。某类样本训练中很少见,模型参数证据不足,或输入远离训练分布。这常称为模型不确定性或认知不确定性。收集更相关的数据可能降低它。
一个普通分类器输出的单个概率常把两者混在一起。看到 0.5,可能是相似样本本来就一半一半,也可能是模型从未见过这种输入。两种情形需要不同动作:前者可能要求接受不可消除的风险,后者可能要求补数据、请人复核或拒绝预测。
概率怎样进入决策
概率本身不决定行动。还需要不同结果的成本或效用。
假设模型估计某设备在一周内故障的概率是 10%。要不要立刻停机检修,取决于故障损失、检修成本、安全要求和替代设备。对低风险广告推荐,阈值可以较低;对漏诊代价很高的筛查,可能宁愿增加假阳性。
若行动 \(a\) 在结果 \(y\) 下的损失为 \(C(a,y)\),理想决策会比较每种行动的期望损失:
\[ \mathbb{E}[C(a,Y)\mid x] =\sum_y C(a,y)P(y\mid x) \]
选择概率模型与选择决策规则是两件事。概率估计可以相同,不同机构因成本、资源和价值判断不同而选择不同阈值。把阈值藏在模型里,会让技术判断与政策判断难以区分。
概率模型也有边界
概率语言能让系统表达不确定性,却不会自动解决以下问题:
- 候选类别是否包含真实情况;
- 训练数据是否代表当前人群;
- 似然或独立性假设是否合适;
- 模型在分布外输入上是否知道自己不知道;
- 预测概率是否经过外部校准;
- 决策成本是否由合适的人明确承担。
一个小数点后三位的概率可能来自脆弱假设。数字精确不等于知识精确。
下一章将打开经典机器学习工具箱。线性模型、决策树、朴素贝叶斯、支持向量机和集成方法都能从数据中学习,但它们选择了不同表示、假设与优化目标。没有一种算法在所有数据上都占优势,原因并不只是“调参技巧不同”,而是每种模型都带着自己的归纳偏置。
本章小结
- 条件概率 \(P(A\mid B)\) 与 \(P(B\mid A)\) 通常不同;基准率决定证据反转后的结论。
- 贝叶斯公式把先验与证据的似然结合为后验,但结果仍依赖先验、似然模型和候选假设是否合理。
- 固定数据后,似然用于比较不同参数对观测的支持,不等同于参数的后验概率。
- 最大似然选择最能解释训练数据的参数;负对数似然连接了概率假设与常见损失函数。
- 朴素贝叶斯用条件独立假设降低估计难度,分类可能有效,但概率可能过度自信。
- 准确率只评价阈值后的类别;校准检查预测为某个概率的事件是否以相应频率发生。
- Brier 分数和对数损失能评价概率质量,并惩罚自信的错误。
- 概率预测必须结合行动成本才能形成决策;技术模型不能替代阈值背后的价值与责任选择。
思考问题
- 如果一种疾病基准率从 1% 上升到 20%,检测灵敏度和假阳性率不变,阳性结果的意义会怎样改变?
- 一个模型准确率很高却严重过度自信,在什么应用中尤其危险?
- 当模型输出 0.5 时,怎样判断是现象本身难预测,还是模型缺少相关经验?
延伸阅读
- Bayes 的原始论文篇幅不算短,建议关注它解决的反问题,而不只寻找现代公式的原样写法。(Bayes 1763年)
- Fisher 1922 年的论文是理解似然与参数估计历史的重要材料,数学要求较高。(Fisher 1922年)
- Bishop 的教材系统连接贝叶斯推断、最大似然、分类与决策理论。(Bishop 2006年)
- Brier 与 Dawid 的论文分别适合继续理解概率评分和校准;阅读时注意“单次事件错误”与“长期概率可靠性”的区别。(Brier 1950年; Dawid 1982年)
