现在位置: 首页 > AI 数学基础 > 正文

贝叶斯定理 -- 用新证据更新你的判断

贝叶斯定理是概率推理的基石。先验信念 + 新证据 → 更新后的信念。


概念解析

先验 P(H)
看到证据前的信念
×
似然 P(E|H)
证据的可信度
后验 P(H|E)
更新后的信念
\[ P(H|E) = \frac{P(E|H) \cdot P(H)}{P(E)} \]

P(E) 是归一化因子:\( P(E) = P(E|H)P(H) + P(E|\text{not }H)P(\text{not }H) \)。

核心思想:用新数据不断更新我们的判断。这是所有贝叶斯方法的基本模式。


生活例子

疾病检测的假阳性陷阱

某种病患病率 0.1%,检测准确率 99%。你检测出阳性——实际患病的概率只有约 9%。

为什么?因为疾病极其罕见,假阳性(1% 的健康人被误诊)的绝对数量远超真阳性。

贝叶斯定理揭示了这一反直觉结论:先验概率极低时,即使检测很准,阳性结果也大概率是误报


Python 动手实践

实例

# 疾病检测贝叶斯分析
P_H = 0.001           # 先验:患病率 0.1%
P_E_given_H = 0.99    # 灵敏度 99%
P_E_given_notH = 0.01 # 假阳性率 1%

P_E = P_E_given_H * P_H + P_E_given_notH * (1 - P_H)
P_H_given_E = P_E_given_H * P_H / P_E

print("=== RUNOOB 疾病检测 ===")
print(f"先验患病率: {P_H:.1%}")
print(f"检测阳性后,实际患病概率: {P_H_given_E:.1%}")
print(f"结论:极低基础概率下,假阳性远超真阳性")

输出:

=== RUNOOB 疾病检测 ===
先验患病率: 0.1%
检测阳性后,实际患病概率: 9.0%
结论:极低基础概率下,假阳性远超真阳性

AI 中的应用场景

朴素贝叶斯分类器

假设特征之间条件独立,用贝叶斯定理计算后验概率 P(类别|特征),选后验最大的类别。在文本分类(垃圾邮件过滤、情感分析)中效果出奇地好——虽然「朴素」的独立性假设在实践中经常不成立,但分类精度仍然很高。

贝叶斯优化用于超参数调优

选择学习率、层数等超参数时,每次训练都很耗时。贝叶斯优化用高斯过程作为先验,根据已评估的超参数组合(证据)更新后验分布,智能地选择下一组最有希望的超参数。比网格搜索和随机搜索高效得多。

变分自编码器(VAE)

VAE 的编码器输出潜在分布的均值 μ 和方差 σ²,然后用 KL 散度约束这个分布接近标准正态先验 N(0,1)。这里的「先验 → 后验」框架就是贝叶斯定理——先验是 N(0,1),似然来自解码器的重构误差,后验是编码器输出的分布。