Skip to content

贝叶斯推断

贝叶斯推断是统计学的一大流派——它不追求”找到唯一正确的参数”,而是维护一个”参数的概率分布”,随着观测数据的积累不断更新信念。从朴素贝叶斯分类器到现代贝叶斯深度学习,从 A/B 测试到 LLM 的 RLHF,贝叶斯思想贯穿机器学习的方方面面。本页系统梳理贝叶斯推断的核心框架、数学推导、实践方法与前沿进展。前置阅读:概率论基础、信息论基础。

贝叶斯推断的本质是”用新证据更新旧信念”。想象你是一个侦探,对嫌疑人的嫌疑程度有一个初始判断(先验),每获得一条新线索(证据),就调整嫌疑程度(后验)。贝叶斯定理就是这种”信念更新”的精确数学规则:

  • 先验(prior)= 案发前你对每个嫌疑人的初始怀疑程度。基于经验、历史数据或直觉。
  • 似然(likelihood)= 如果某人确实是凶手,出现当前证据的可能性有多大?
  • 后验(posterior)= 综合先验和证据后,更新后的怀疑程度。这就是你要的答案。
  • 证据(evidence / marginal likelihood)= 当前证据在所有可能情况下的总体出现概率,起归一化作用。

贝叶斯学派与频率学派的核心分歧在于概率的含义:频率学派认为概率是”长期频率”(客观的),参数是固定的未知常数;贝叶斯学派认为概率是”信念程度”(主观的),参数本身也有概率分布。这一哲学差异导致了完全不同的方法论。

💡 为什么计算机专业的人应该关注贝叶斯? 因为几乎所有现代 AI 系统都在做”不确定条件下的决策”。垃圾邮件分类、推荐系统、自动驾驶、医疗诊断、LLM 的幻觉检测——每一个都涉及”我对这个判断有多确信”。贝叶斯框架是量化不确定性的数学语言,是理解现代 AI 不可或缺的基础。

一个直观的数值例子:假设某种罕见病的患病率(先验,prior)是 1%。某种检测的灵敏度(有病时检测阳性,即似然,likelihood)为 99%,假阳性率(没病时也阳性)为 5%。现在某人检测呈阳性,他真正患病的概率是多少?

直觉上很多人会答”99%“,但正确答案只有约 16.7%——这就是著名的基础率谬误(Base Rate Fallacy)。用贝叶斯定理计算:

P(病∣阳性)=P(阳性∣病)×P(病)P(阳性)=0.99×0.010.99×0.01+0.05×0.99=0.00990.0594≈0.167P(\text{病}|\text{阳性}) = \frac{P(\text{阳性}|\text{病}) \times P(\text{病})}{P(\text{阳性})} = \frac{0.99 \times 0.01}{0.99 \times 0.01 + 0.05 \times 0.99} = \frac{0.0099}{0.0594} \approx 0.167

因为病太罕见了(先验极低),即使检测很准,大部分阳性结果仍然是假阳性。贝叶斯定理的价值正在于此:不让新证据压倒基础概率。

用”人数”来直观理解:想象 10000 人接受检测。其中约 100 人真正有病(1%),这 100 人中 99 人检测阳性(99% 灵敏度)。剩下 9900 人没病,其中 495 人假阳性(5% 假阳性率)。所以阳性总数 = 99 + 495 = 594 人,其中真正有病的只有 99 人 → 99/594 ≈ 16.7%。直观多了!

贝叶斯定理(Bayes’ Theorem)是概率论的基本定理,描述了如何从先验概率和似然函数推导后验概率:

P(θ∣D)=P(D∣θ) P(θ)P(D)P(\theta \mid \mathcal{D}) = \frac{P(\mathcal{D} \mid \theta) \, P(\theta)}{P(\mathcal{D})}

其中:

  • θ\theta 是参数(parameter)——你想要推断的未知量,如模型的权重、某事件的发生概率
  • D\mathcal{D} 是观测数据(observed data)——你已经收集到的证据
  • P(θ)P(\theta) 是先验分布(prior),表示观测前对参数的信念
  • P(D∣θ)P(\mathcal{D} \mid \theta) 是似然函数(likelihood),表示参数为 θ\theta 时观测到数据 D\mathcal{D} 的概率
  • P(θ∣D)P(\theta \mid \mathcal{D}) 是后验分布(posterior),表示观测到数据后对参数的更新信念——这就是最终想要的
  • P(D)P(\mathcal{D}) 是边缘似然(marginal likelihood / evidence),对所有可能的 θ\theta 积分(或求和)得到:
P(D)=∫P(D∣θ) P(θ) dθP(\mathcal{D}) = \int P(\mathcal{D} \mid \theta) \, P(\theta) \, d\theta

由于 P(D)P(\mathcal{D}) 对 θ\theta 而言是常数(它不含 θ\theta),实践中常省略分母,写成正比形式:

P(θ∣D)∝P(D∣θ) P(θ)\boxed{P(\theta \mid \mathcal{D}) \propto P(\mathcal{D} \mid \theta) \, P(\theta)}

即:后验 \profty\profty 似然 ×\times 先验。记住这句口诀,就抓住了贝叶斯推断的全部精髓。

贝叶斯推断的流程:设定先验 →\to 收集数据计算似然 →\to 用贝叶斯定理得到后验 →\to 后验成为下一次更新的先验(序列更新,sequential updating)。

贝叶斯定理的推导(仅需条件概率的定义):

条件概率的定义为 P(A∣B)=P(A,B)P(B)P(A \mid B) = \frac{P(A, B)}{P(B)},即”A 在 B 发生条件下的概率等于两者同时发生的概率除以 B 的概率”。由联合概率的两种分解方式:

P(\theta, \mathcal{D}) = P(\mathcal{D} \mid \theta) \, P(\theta) = P(\theta \mid \mathcal{D}) \, P(\mathcal{D}) $$'