哈密​​顿蒙特卡洛与顺序蒙特卡洛

机器算法验证 马尔可夫链蒙特卡罗 随机游走 粒子过滤器 概率规划 汉密尔顿-蒙特卡罗
2022-02-15 14:32:27

我试图了解这两种 MCMC 方案的相对优缺点以及不同的应用领域。

  • 您什么时候使用 which 以及为什么?
  • 什么时候一个可能会失败,而另一个不会(例如,HMC 在哪里适用但 SMC 不适用,反之亦然)
  • 是否可以天真地授予一种方法与另一种方法相比的效用度量(即,通常是一种更好的方法)?

我目前正在阅读 Betancourt 关于 HMC 的优秀论文

1个回答

Hamiltonian Monte Carlo 在具有“奇怪”形状的连续目标分布中表现良好。它要求目标分布是可微的,因为它基本上使用目标分布的斜率来知道去哪里。完美的例子是香蕉形函数。

这是 Banana 函数中的标准 Metropolis Hastings:接受率为 66%,覆盖率很差。 具有香蕉功能的 Metropolis Hastings

这是 HMC:99% 的接受度和良好的覆盖率。 具有香蕉功能的 Metropolis Hastings

当目标分布是多模态时,SMC(粒子过滤背后的方法)几乎是无与伦比的,尤其是当有多个单独的质量区域时。不是将一个马尔可夫链困在一个模式中,而是有几个并行运行的马尔可夫链。请注意,您使用它来估计一系列分布,通常是增加清晰度。您可以使用模拟退火(在目标上放置一个逐渐增加的指数)来生成不断增加的清晰度。或者通常,在贝叶斯上下文中,分布序列是后验序列:

P(θ|y1),P(θ|y1,y2),...,P(θ|y1,y2,...,yN)

例如,这个序列是 SMC 的一个很好的目标: 在此处输入图像描述

SMC 的并行特性使其特别适合分布式/并行计算。

概括:

  • HMC:适用于拉长的怪异目标。不适用于非连续函数。
  • SMC:适用于多模式和非连续情况。对于高维怪异形状,可能会收敛较慢或使用更多计算能力。

资料来源:大部分图像来自我结合两种方法(Hamiltonian Sequential Monte Carlo)撰写的论文。这种组合几乎可以模拟我们可以扔给它的任何分布,即使在非常高的维度上也是如此。