很多人学统计的时候会经历一个很典型的路径。

先学 p-value 和假设检验,然后开始做 A/B test,再慢慢接触贝叶斯方法。

再往前走一点,就会看到两个很常见的词:

  • MCMC
  • Variational Inference

第一次看到的时候通常会有点困惑:

这些算法到底在解决什么问题?

其实答案很简单。

它们在解决同一个核心问题:

贝叶斯公式很好看,但后验分布通常算不出来。


p-value 的世界

传统统计(frequentist statistics)里的核心工具是 假设检验

逻辑大概是这样:

先提出一个原假设:

1
H0: 两个版本没有差异

然后计算一个 p-value

如果这个概率很小,比如:

1
p < 0.05

就拒绝原假设。

这种方法在 A/B test、医学实验、社会科学研究里非常常见。

但这里有一个微妙的问题。

p-value 实际上回答的是:

如果原假设是真的,现在的数据有多不寻常?

它并没有直接回答很多人真正想知道的问题:

在看到数据之后,这个假设有多可能是真的?

贝叶斯方法正是从这个角度出发。


贝叶斯的思路

贝叶斯统计的核心公式其实只有一行:

$$ P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)} $$

意思是:

看到数据 (D) 之后,我们更新对参数 (\theta) 的信念。

这里有三个重要部分:

  • prior:数据之前的信念
  • likelihood:数据在参数下出现的概率
  • posterior:更新后的信念

这个公式非常优雅。

问题在于分母:

$$P(D) = \int P(D|\theta)P(\theta)d\theta $$

这是一个积分。

在简单模型里可以算,但一旦模型复杂起来,这个积分就几乎不可解。

换句话说:

我们知道 posterior 的数学形式,但算不出来它的具体形状

于是问题变成:

如果后验分布算不出来,我们该怎么办?

现代贝叶斯推断基本上有两条路线。


MCMC:用采样逼近分布

第一条路线是 MCMC(Markov Chain Monte Carlo)

它的核心思想其实非常直接:

如果你能从 posterior 分布里不断抽样,那么这些样本本身就描述了这个分布。

例如:

1
θ1, θ2, θ3, θ4 ...

如果样本足够多,我们就可以用它们估计:

  • 均值
  • 方差
  • 置信区间

问题是:我们并不能直接从 posterior 抽样。

于是 MCMC 的策略是构造一个 随机过程(Markov chain),让它在参数空间里不断移动,并且长期来看停留在某个区域的概率正好等于 posterior 的概率密度。

可以想象一个“概率地形”。

高概率区域像山谷,低概率区域像山顶。

MCMC 的随机游走更容易停在山谷里。

走得足够久之后,访问各个区域的频率就接近真实概率。

常见的 MCMC 算法包括:

  • Metropolis–Hastings
  • Gibbs sampling
  • Hamiltonian Monte Carlo

这些算法的核心思想都是一样的:

通过随机采样逼近后验分布。

优点很明显:

理论上可以得到非常准确的结果。

缺点也很明显:

计算代价很高,尤其是在高维模型里。


Variational Inference:把推断变成优化问题

另一条路线叫 Variational Inference(VI)

如果说 MCMC 的思路是“抽样”,那 VI 的思路就是“拟合”。

具体来说,我们不去直接求 posterior,而是找一个简单分布 $q(\theta)$,让它去逼近真实的 posterior。

例如:

真实 posterior 可能非常复杂,但我们可以用一个高斯分布来近似。

然后优化一个目标函数,让这两个分布尽量接近。

常用的距离度量是 KL divergence

换句话说,VI 做的事情其实是:

找一个最像 posterior 的简单分布。

这个优化目标通常写成一个叫 ELBO(Evidence Lower Bound) 的函数。

很多生成模型论文里都会看到这个词。

一个很典型的例子就是 VAE(Variational Autoencoder),它本质上就是 Variational Inference 的工程化实现。

相比 MCMC,VI 的优点是:

  • 速度非常快
  • 可以用梯度下降
  • 可以处理大规模数据

但它也有一个明显缺点:

因为使用了近似分布,结果可能存在偏差。


两种方法的区别

MCMC 和 VI 其实代表了两种不同的思路。

MCMC:

  • 用采样逼近真实分布
  • 精度高
  • 计算成本大

Variational Inference:

  • 用简单分布拟合真实分布
  • 速度快
  • 存在近似误差

在很多实际问题里,VI 的一个副作用是:

低估不确定性。

因为近似分布通常比较简单,比如独立高斯,这会让 posterior 看起来比真实情况更“集中”。


为什么大模型几乎不用 MCMC

在早期统计学研究里,MCMC 非常流行。

但在现代机器学习和深度学习里,大多数系统更倾向于使用 VI 或类似的近似方法。

原因很现实:

神经网络的参数规模可能是:

1
2
3
10^7
10^8
甚至 10^9

在这种规模下,用 MCMC 进行完整采样几乎不可能。

而 Variational Inference 可以使用:

  • mini-batch
  • stochastic gradient
  • GPU 加速

因此在工程实践里更容易扩展。


一个有趣的联系:生成模型

有趣的是,这些贝叶斯推断方法在很多生成模型里都有影子。

例如:

  • VAE 直接基于 Variational Inference
  • 扩散模型(Diffusion Models) 的采样过程与 MCMC 有一些相似之处

扩散模型的逐步去噪过程,本质上也是在构造一个随机过程,让样本逐渐接近目标分布。

虽然实现方式不同,但背后的思想与 Monte Carlo 方法有一定的共通点。


总结

从 p-value 到贝叶斯,其实是统计思维的一次转变。

传统统计更关注:

在某个假设成立时,数据出现的概率。

贝叶斯方法则直接回答:

在看到数据之后,我们应该如何更新对世界的信念。

但这种方法带来了一个新的问题:

后验分布往往无法直接计算。

于是出现了两条重要路线:

  • MCMC:用采样逼近真实分布
  • Variational Inference:用优化寻找近似分布

这两种方法几乎构成了现代贝叶斯推断的基础。

如果说贝叶斯统计提供了一种优雅的概率世界观,那么 MCMC 和 Variational Inference 则是让这套世界观真正变得可计算的工具。