机器学习数学基础 120 章

全概率公式与贝叶斯公式

层级:A|必学

1. Bayes 公式做的事

我们常容易知道“某原因下观察到证据的概率”P(EH)P(E|H),却真正想知道“看到证据后原因成立的概率”P(HE)P(H|E)。Bayes 公式通过先验与所有可能原因对证据的解释,把条件方向反转。

2. 事件划分

B1,ldots,BKB_1,ldots,B_K 若满足:

  • 两两互斥;
  • 并集为样本空间;
  • P(Bk)>0P(B_k)>0

称为样本空间的一个划分。任何结果恰落入一个 BkB_k

例如类别事件 Y=1,ldots,KY=1,ldots,K 构成划分。

3. 全概率公式

事件 AA 可分解成互斥部分:

A=k=1K(ABk).A=\bigcup_{k=1}^{K}(A\cap B_k).

因此

P(A)=k=1KP(ABk)=k=1KP(ABk)P(Bk).P(A)=\sum_{k=1}^{K}P(A\cap B_k) =\sum_{k=1}^{K}P(A|B_k)P(B_k).

它对所有可能情形加权平均。机器学习中:

p(x)=yp(xy)p(y),p(x)=\sum_yp(x|y)p(y),

即把类别边缘化。

4. Bayes 公式

由乘法公式:

P(BjA)=P(ABj)P(Bj)P(A).P(B_j|A)=\frac{P(A|B_j)P(B_j)}{P(A)}.

用全概率展开分母:

P(BjA)=P(ABj)P(Bj)kP(ABk)P(Bk).P(B_j|A)= \frac{P(A|B_j)P(B_j)} {\sum_kP(A|B_k)P(B_k)}.

四个角色:

  • P(Bj)P(B_j):先验;
  • P(ABj)P(A|B_j):似然(把观察 AA 视为参数/假设函数);
  • P(A)P(A):证据/边缘似然;
  • P(BjA)P(B_j|A):后验。

5. 医学检测基准率例子

患病率 P(D)=0.01P(D)=0.01,灵敏度 P(+D)=0.99P(+|D)=0.99,假阳性率 P(+Dc)=0.05P(+|D^c)=0.05

总阳性概率:

P(+)=0.99×0.01+0.05×0.99=0.0594.P(+)=0.99\times0.01+0.05\times0.99=0.0594.

阳性后患病概率:

P(D+)=0.99×0.010.0594=160.167.P(D|+)=\frac{0.99\times0.01}{0.0594} =\frac16\approx0.167.

即使检测很灵敏,低基准率使大多数阳性可能是假阳性。这是 base-rate fallacy 的典型反例。

6. Odds 形式

二假设 H1,H0H_1,H_0

P(H1E)P(H0E)=P(EH1)P(EH0)P(H1)P(H0).\frac{P(H_1|E)}{P(H_0|E)} =\frac{P(E|H_1)}{P(E|H_0)} \frac{P(H_1)}{P(H_0)}.

posterior odds=likelihood ratio×prior odds.\text{posterior odds} =\text{likelihood ratio}\times\text{prior odds}.

取对数后变成相加。朴素 Bayes、多次独立证据与序贯检验常用 log-odds 累积。

7. 连续形式

参数 θ\theta、数据 DD

p(θD)=p(Dθ)p(θ)p(D),p(\theta|D) =\frac{p(D|\theta)p(\theta)}{p(D)}, p(D)=p(Dθ)p(θ)dθ.p(D)=\int p(D|\theta)p(\theta)d\theta.

常写

p(θD)p(Dθ)p(θ),p(\theta|D)\propto p(D|\theta)p(\theta),

因为分母对 θ\theta 是常数。要计算归一化后验概率、模型比较或边缘似然时不能忽略它。

8. 生成分类器

p(y=kx)=p(xy=k)p(y=k)jp(xy=j)p(y=j).p(y=k|x) =\frac{p(x|y=k)p(y=k)} {\sum_jp(x|y=j)p(y=j)}.

分类只需比较各类未归一化得分:

y^=argmaxkp(xy=k)p(y=k).\hat y=\arg\max_k p(x|y=k)p(y=k).

取对数:

argmaxk[logp(xy=k)+logp(y=k)].\arg\max_k[\log p(x|y=k)+\log p(y=k)].

这避免小概率连乘下溢。

9. 先验不是“随便加的偏见”

先验可来自历史、物理限制、层级共享或正则偏好。它也可主观,需要敏感性分析。数据少时先验影响大,数据多且模型可识别时似然通常更主导。

错误强先验会误导;完全“无信息”先验也不是总能无歧义定义,并可能在重参数化后改变含义。

10. 似然不是参数的概率

固定观察到的数据 DD 后,L(θ)=p(Dθ)L(\theta)=p(D|\theta) 是参数的函数,不要求对 θ\theta 积分为 1。后验 p(θD)p(\theta|D) 才是给定数据后的参数分布(Bayesian 语境)。

似然比

p(Dθ1)p(Dθ0)\frac{p(D|\theta_1)}{p(D|\theta_0)}

比较两个参数对数据的解释力,但不含先验。

11. 数据集偏移与先验变化

若训练与部署的类别先验 p(y)p(y) 变化,但 p(xy)p(x|y) 近似不变(label shift),可用 Bayes 结构调整后验。若 p(xy)p(x|y) 也变,简单改阈值/先验不够。

病例对照抽样、正负样本重采样会改变训练集类别比例;模型概率若要用于部署,需恢复真实先验或重新校准。

易错点

  1. P(AB)P(A|B) 不等于 P(BA)P(B|A)
  2. 分母必须包含所有互斥原因的证据贡献。
  3. 似然作为参数函数不必归一化。
  4. \propto 后只能做与参数无关常数可忽略的操作。
  5. 重采样改变类别先验,预测概率可能不再校准。

常见问答

Q1:最大似然与 MAP 有何区别?

MLE 最大化 p(Dθ)p(D|\theta);MAP 最大化 p(Dθ)p(θ)p(D|\theta)p(\theta),加入先验。数据多时可能接近,但不总相同。

Q2:证据 p(D)p(D) 为什么难算?

它要对所有参数积分,高维模型通常没有闭式解。MCMC、变分、Laplace 和桥采样等用于近似。

Q3:Bayes 公式是否等于因果推断?

不是。它是观察条件概率的恒等式;因果效应需要干预、反事实与结构假设,不能仅反转条件概率。

练习

  1. 工厂 A/B 产量比例 0.7/0.3,次品率 0.01/0.04,求随机产品次品概率。
  2. 已知是次品,求来自 B 的概率。
  3. 写出多分类生成模型后验。
  4. 解释 posterior ∝ likelihood × prior 省略什么。
  5. 为什么低基准率会让阳性预测值低?

答案与提示

  1. 0.7(0.01)+0.3(0.04)=0.0190.7(0.01)+0.3(0.04)=0.019
  2. 0.3(0.04)/0.0190.6320.3(0.04)/0.019\approx0.632
  3. p(xy=k)p(y=k)/jp(xy=j)p(y=j)p(x|y=k)p(y=k)/\sum_jp(x|y=j)p(y=j)
  4. 证据/归一化常数 p(D)p(D)
  5. 健康人基数大,即使假阳性率不高,假阳性数量也可能超过真阳性。