标准的 Metropolis-Hastings (MH) 算法提供了一个通用框架,用于在能够评估与其成比例的函数(例如似然与先验的乘积 p(D∣θ)p(θ))时,从目标分布(通常是后验 p(θ∣D))中进行采样。其基本思路是,从一个提议分布 q(θ′∣θ(t)) 中提议一个新状态 θ′,并以如下概率接受它:
α(θ′,θ(t))=min(1,p(θ(t)∣D)q(θ′∣θ(t))p(θ′∣D)q(θ(t)∣θ′))
如果接受,则 θ(t+1)=θ′。否则,θ(t+1)=θ(t)。尽管强大,但基本 MH 算法的效率和效用很大程度上取决于提议分布 q 的选择。这导致出现了几种变体,旨在不同情境下提升性能。
随机游走 Metropolis (RWM)
随机游走 Metropolis 算法也许是最简单和最常用的变体。它使用对称提议分布,意思是,从 θ 开始提议 θ′ 的概率与从 θ′ 开始提议 θ 的概率相同。形式上, q(θ′∣θ)=q(θ∣θ′)。
一个典型选择是以当前状态为中心的高斯分布:
θ′∼N(θ(t),Σ)
其中 Σ 是一个协方差矩阵,通常是对角的,例如 σ2I。由于提议是对称的,提议项在接受率中抵消:
q(θ(t)∣θ′)=q(θ′∣θ(t))
这将接受概率简化为:
α(θ′,θ(t))=min(1,p(θ(t)∣D)p(θ′∣D))
这是原始的 Metropolis 算法(在 Hastings 泛化之前)。
优点:
- 易于实现。
- 在提议尺度(例如 σ2)上无需复杂调整。
缺点:
- 如果目标分布具有复杂的相关性或维度间的尺度变化,则效率不高。随机游走行为可能导致参数空间的缓慢遍历。
- 性能对提议尺度的选择(σ2 或 Σ)非常敏感。
提议尺度的调整:
为随机游走选择合适的尺度很重要。
- 太小: 大多数提议会被接受,但链移动非常慢,在空间中移动效率不高,导致样本之间的高度自相关。
- 太大: 许多提议会落入低概率区域并被拒绝。链会卡住,再次导致混合不佳。
对于高维问题,最佳接受率经验上通常约为 0.234,对于一维问题约为 0.44,不过这只是一个指导原则,而非严格规定。调整通常涉及运行试点模拟,并调整提议尺度以达到合理的接受率。
随机游走 Metropolis 路径的图示。小步长导致缓慢遍历,大步长导致频繁拒绝(停留在同一位置,由重叠标记指示),而调整得当的步长则平衡了接受和移动。
独立 Metropolis-Hastings
在此变体中,提议的状态 θ′ 是从一个不依赖于当前状态 θ(t) 的分布 q(θ′) 中抽取的。
θ′∼q(θ′)
这意味着 q(θ′∣θ(t))=q(θ′)。接受概率使用完整的 Hastings 比率,因为提议通常不对称:
α(θ′,θ(t))=min(1,p(θ(t)∣D)q(θ′)p(θ′∣D)q(θ(t)))
要求:
为了使此方法良好运行,提议分布 q(θ′) 理想情况下应是目标后验 p(θ∣D) 的良好近似。常见选择包括多元高斯分布或学生 t 分布,它们可以拟合后验众数(通过优化得到)或基于初始近似(如拉普拉斯近似)。
优点:
- 如果 q(θ′) 是 p(θ∣D) 的良好近似,采样器可以在参数空间中进行大步跳跃,可能导致比 RWM 快得多的混合。
- 如果后验的合理近似可用,则可能有效。
缺点:
- 寻找一个好的提议分布 q(θ′) 可能具有挑战性。
- 如果 q(θ′) 是不好的近似,特别是如果其尾部比目标后验 p(θ∣D) 轻,采样器可能很少在状态空间的重要区域接受提议,导致非常差的性能。必须满足 p(θ∣D)>0⟹q(θ)>0 的要求。
- 如果 q 与 p 不相似,接受率可能非常低。
Metropolis-调整朗之万算法 (MALA)
MALA 结合了来自目标分布的梯度信息,以更智能地提议移动,将样本推向更高概率的区域。这在高维空间中特别有用,因为随机游走效率不高。
提议机制基于朗之万动力学,它涉及一个基于对数后验梯度的漂移项和一个随机噪声项。离散时间近似导致了以下提议:
θ′∼N(θ(t)+2ϵ2∇logp(θ(t)∣D),ϵ2I)
这里,ϵ 是一个步长参数,∇logp(θ∣D) 是对数目标密度(对数似然 + 对数先验)的梯度。此提议将 θ′ “向上”推向更高密度的区域。
因为提议依赖于当前点 θ(t) 处的梯度,所以它不对称。提议密度为:
q(θ′∣θ(t))=N(θ′∣μ(θ(t)),ϵ2I)
其中 μ(θ(t))=θ(t)+2ϵ2∇logp(θ(t)∣D)。必须使用完整的 Hastings 接受率:
α(θ′,θ(t))=min(1,p(θ(t)∣D)q(θ′∣θ(t))p(θ′∣D)q(θ(t)∣θ′))
优点:
- 通过使用梯度信息,它考察参数空间的效率通常比 RWM 高得多,特别是在更高维度。
- 比简单的随机游走更好地处理复杂的后验几何结构。
缺点:
- 需要计算梯度 ∇logp(θ∣D),这对于所有模型来说可能无法解析获得或在计算上不可行。自动微分工具可以在这方面提供帮助。
- 需要调整步长 ϵ。类似于 RWM,ϵ 需要在良好接受率和遍历之间取得平衡。MALA 的最佳接受率通常建议约为 0.574。
- 如果 ϵ 过大,离散时间近似仍然可能导致效率不高。
MALA 为哈密顿蒙特卡洛 (HMC) 搭建了桥梁,HMC 通过引入辅助动量变量和模拟哈密顿动力学,更有效地使用梯度信息。
其他变体
- 自适应 MCMC: 这些算法在模拟期间自动调整提议参数(例如 RWM 中的协方差矩阵 Σ 或 MALA 中的步长 ϵ),通常在初始的“预热”或“热身”阶段进行。尽管强大,但必须小心确保适应性随时间停止或减弱,以保持马尔可夫链的正确平稳分布保证。
- 分量式 Metropolis-Hastings: 不是一次性更新所有参数 θ=(θ1,...,θd),而是一次更新一个参数或一组参数,以其他参数的当前值为条件。这与 Gibbs 采样密切相关,后者将在下一节中讨论。
选择合适的 Metropolis-Hastings 变体涉及在实现复杂性、计算成本(尤其是梯度)、调整工作量和针对特定问题结构的采样效率之间进行权衡。对于复杂、高维的后验,结合梯度信息的方法,例如 MALA(以及后来的 HMC/NUTS),通常比基本的随机游走 Metropolis 明显更有效。