变分推断与最大似然估计的关系

变分推断(Variational Inference, VI)是一种用于估计概率模型中难以计算的后验分布的技术。它通过优化问题的方式来近似真实的后验分布,不同于传统的MCMC方法,变分推断通常更快且易于扩展到大规模数据集。

变分推断的基本原理

变分推断的核心思想是选择一个简单的概率分布族(变分分布),然后通过优化参数来使这个分布尽可能接近目标的后验分布。这个优化过程通常是通过最小化两个分布之间的Kullback-Leibler (KL) 散度来实现的。

步骤和方法

  1. 选择变分族
    首先,选择一个参数化的变分分布族 ( q_\theta(z) ),其中 ( \theta ) 是变分参数,( z ) 是潜在变量。这个分布族通常比较简单,例如高斯分布族,以便于计算和优化。

  2. 定义目标函数
    变分推断的目标是最小化变分分布 ( q_\theta(z) ) 和真实后验分布 ( p(z|x) ) 之间的KL散度:
    $$
    \text{KL}(q_\theta(z) | p(z|x)) = \int q_\theta(z) \log \frac{q_\theta(z)}{p(z|x)} dz
    $$
    由于直接计算KL散度中的后验 ( p(z|x) ) 通常是不可行的,我们转而最大化证据下界(ELBO,Evidence Lower BOund):
    $$
    \text{ELBO}(\theta) = \mathbb{E}{q\theta(z)}[\log p(x, z) - \log q_\theta(z)]
    $$
    这里 $ p(x, z) $ 是联合分布,ELBO是后验分布对数似然的一个下界。

  3. 优化ELBO
    使用随机梯度上升或其他优化算法来调整变分参数 ( \theta ),使ELBO尽可能大。这通常涉及到对ELBO的梯度进行估计,可能会使用到如重参数化技巧的方法。

  4. 迭代直至收敛
    反复迭代优化过程,直到ELBO的值收敛或达到一定的迭代次数。

应用和实现

变分推断被广泛应用于各种贝叶斯统计模型和机器学习模型,包括贝叶斯神经网络、主题模型如隐狄利克雷分配(LDA)、高斯混合模型等。在实现上,变分推断已经被集成到多个统计和机器学习库中,例如 Pyro, Edward, TensorFlow Probability 等,这些工具提供了构建和优化变分推断模型的高级接口。

总结

变分推断通过将复杂的后验推断问题转化为优化问题,使得对复杂模型的推断变得可行和高效。虽然它引入了一些近似,但在许多实际应用中,变分推断提供了一个强有力的平衡点,介于完全贝叶斯推断的准确性和计算可行性之间。

最大似然估计

Recall one approach of generative modeling, termed "likelihood-based", is to learn a model to maximize the likelihood p(x) of all observed x.

posted @ 2024-12-08 16:51  CAMOUF  阅读(162)  评论(0)    收藏  举报