实践中使用的 Metropolis-Hastings 算法

机器算法验证 马尔可夫链蒙特卡罗 大都会黑斯廷斯
2022-02-13 13:02:05

我今天正在阅读Christian Robert 的博客,非常喜欢他正在讨论的新 Metropolis-Hastings 算法。它看起来简单易行。

每当我编写 MCMC 代码时,我倾向于坚持使用非常基本的 MH 算法,例如独立移动或对数尺度上的随机游走。

人们通常使用哪些 MH 算法?尤其:

  • 你为什么使用它们?
  • 从某种意义上说,您必须认为它们是最佳的——毕竟您经常使用它们!那么你如何判断最优性:易于编码,收敛,......

我对实际使用的东西特别感兴趣,即当您编写自己的方案时。

4个回答

混合蒙特卡罗是用于神经网络的标准算法。用于高斯过程分类的吉布斯采样(当不使用确定性近似时)。

当难以从目标分布中采样时(例如,当先验与可能性不共轭时)使用MH 采样。因此,您使用提案分布来生成样本并根据接受概率接受/拒绝它们。Gibbs 采样算法是 MH 的一个特殊实例,其中建议总是接受。Gibbs 采样由于其简单性是最常用的算法之一,但它可能并不总是可以应用,在这种情况下,人们会根据接受/拒绝建议求助于 MH。

在物理学中,特别是统计物理学中,Metropolis 类型的算法被广泛使用。这些真的有无数种变种,并且正在积极开发新的变种。这个话题太宽泛了,无法在这里进行任何形式的解释,所以如果您有兴趣,可以从这些讲义或 ALPS 图书馆网页 (http://alps.comp-phys.org/mediawiki) 开始。

我使用切片采样器 - 最初由 Neal(2003) 提出,我通过启发式优化对其进行调整。