【问题标题】:How does MCMC help bayesian inference?MCMC 如何帮助贝叶斯推理?
【发布时间】:2018-12-28 22:16:32
【问题描述】:

文献称 MCMC 中的 Metropolis-hasting 算法是上个世纪最重要的算法之一,具有革命性。文献还说,正是 MCMC 的这种发展使贝叶斯统计再次诞生。

我了解 MCMC 的作用 - 它提供了一种从任何复杂概率分布中抽取样本的有效方法。

我也知道贝叶斯推理是什么——它是计算参数完整后验分布的过程。

我很难在这里连接点: MCMC 在贝叶斯推理过程中的哪一步发挥作用?为什么 MCMC 如此重要,以至于人们说是 MCMC 让贝叶斯统计重生了?

【问题讨论】:

标签: statistics bayesian montecarlo markov-chains mcmc


【解决方案1】:

您可能想在 StatsExchange 上提出类似的问题。然而,这里是一个高水平的“建立一些直觉”答案的尝试(免责声明:我是一名计算机科学家而不是统计学家。前往 StatsExchange 进行更正式的讨论)

贝叶斯推理:

在最基本的意义上,我们遵循贝叶斯规则:p(Θ|y)=p(y|Θ)p(Θ)/p(y)。这里 p(Θ|y) 被称为“后验”,这就是您要计算的内容。 p(y|Θ) 被称为“数据可能性”,通常由您的模型或数据的生成描述给出。 p(Θ) 被称为“先验”,它在观察数据之前捕获了您对参数合理值的信念。 p(y) 称为“边际似然”,使用总概率定律可以表示为 ∫ p(y|Θ)p(Θ) dΘ。这看起来非常简洁,但实际上 p(y) 通常难以解析计算,并且在高维(即当 Θ 具有多个维度时)数值积分是不精确且计算上难以处理的。在某些情况下,问题的共轭结构 允许您进行分析计算,但在许多有用的模型中这根本不可能。因此,我们转向近似后验。

有两种方法(我知道)来近似后验:Monte CarloVariational Inference。既然你问到了 MCMC,我会坚持下去的。

蒙特卡洛(和马尔可夫链蒙特卡洛):

统计中的许多问题都涉及在概率分布下对函数的期望。根据大数定律,可以通过 Monte Carlo 估计器有效地逼近期望。因此,如果我们可以从分布中抽取样本(即使我们不知道分布本身),那么我们就可以计算所讨论的期望的蒙特卡罗估计。关键是我们不需要有分布的表达式:如果我们只有样本,那么我们可以计算我们感兴趣的期望值。但是有一个问题......如何绘制样本??

已经有很多工作开发了从未知分布中抽取样本的方法。这些包括“拒绝”、“重要性”和“切片”采样。这些都是伟大的创新,在许多应用程序中都很有用,但它们都因无法扩展到高维度而受到影响。例如,拒绝抽样从已知的“提议”分布中抽取样本,然后根据需要评估似然函数和提议函数的概率接受或拒绝该样本。这在 1 维中很棒,但随着维数的增长,给定样本被拒绝的概率质量会急剧增加。

马尔可夫链蒙特卡洛是一项创新,它附带了一些非常好的理论保证。关键思想是不要从提议分布中随机抽取样本,而是使用已知样本(希望样本处于高概率质量区域),然后在从提议分布中抽取样本时进行一个小的随机步骤.理想情况下,如果第一次抽签是在高概率人群中,那么第二次抽签也很可能被接受。因此,您最终会接受更多的样本,并且不会浪费时间抽取将被拒绝的样本。令人惊奇的是,如果您在特定条件下(链必须是有限的、非周期性的、不可约的和遍历的)运行马尔可夫链足够长的时间(即无穷大),那么您的样本从模型的真实后验。太棒了! MCMC 技术是绘制 dependent 样本,因此它可以缩放到比以前的方法更高的维度,但是在正确的条件下,即使样本是依赖的,它们也好像是从所需的 IID 中抽取的分布(贝叶斯推理中的后验)。

将其结合在一起(希望能回答您的问题):

MCMC 可以被看作是一种启用贝叶斯推理的工具(正如共轭结构的分析计算,变分推理和蒙特卡洛是替代方案)。除了分析解决方案之外,所有其他工具都逼近真正的后验。然后,我们的目标是使近似值尽可能好,并尽可能便宜地做到这一点(计算成本和计算一堆杂乱代数的成本)。以前的采样方法不能扩展到高维(这是任何现实世界问题的典型),因此贝叶斯推理在许多情况下变得计算非常昂贵且不切实际。然而,MCMC 为一种从高维后验中高效抽取样本的新方法打开了大门,该方法具有良好的理论保证,并且(相对而言)容易且计算成本低。

值得一提的是,Metropolis 本身也存在问题:它与高度相关的潜在参数空间作斗争,它需要用户指定的提案分布,并且样本之间的相关性可能很高,导致结果有偏差。因此,人们提出了更现代、有时更有用的 MCMC 工具来尝试解决这个问题。请参阅“Hamiltonian Monte Carlo”和“No U-Turn Sampler”了解最新技术。尽管如此,Metropolis 是一项巨大的创新,它突然使现实世界的问题在计算上变得易于处理。

最后一点:请参阅 this discussion by MacKay 以获得对这些主题的非常好的概述。

【讨论】:

  • 感谢您的回答!我正在努力解决以下问题:为什么需要计算 p(y)?我认为对于 p(y|Θ)p(Θ) 的任何值,这个边际概率 p(y) 都会作为常数出现,所以我们可以计算 p(y|Θ)p(Θ) 并将其归一化为之后的概率分布。
  • 你是绝对正确的。只需要找到归一化常数;但这就是问题所在。要找到这个常数,您必须在参数空间的整个域上执行积分。整合这个空间通常在分析/计算上是难以处理的,所以我们回到我们最初的问题:一个难以处理的问题。 MCMC 允许我们从后验中抽取样本,而不必担心这个归一化常数——如果你遵循它,它会在某些数学中被抵消。
  • 我明白了。感谢您的跟进!为了确保我理解正确:计算归一化常数通常很棘手,但使用 MCMC 或 VB,我们可以从分布 p(y|Θ) 中抽取样本,并且鉴于我们已经知道 p(Θ),我们可以然后近似 p(Θ|y)。先验 p(Θ) 是已知的,因为我们首先建立了一个已知的先验分布,然后在之前的贝叶斯推理中计算的后验成为当前推理步骤中的先验。以上说法准确吗?
  • 我想我错过的关键概念是:MCMC 从似然分布 p(y|Θ) 中抽取样本,这是允许我们逼近后验概率 p(Θ| y)。你确认了吗?
  • 其实我之前的2个说法根本不准确。我认为这个帖子做得很好:stats.stackexchange.com/a/344360/137466非常感谢您的回答!我真的很感激!
【解决方案2】:

这篇 https://stats.stackexchange.com/a/344360/137466 的帖子完美地解决了我关于 MCMC 采样如何帮助解决贝叶斯推理的问题。特别是帖子中的以下部分是我错过的关键概念:

马尔可夫链有一个stationary distribution 如果你运行它,它是保留自己的分布 连锁,链条。在某些广泛的假设下(例如,链条是 不可约的,非周期性的),平稳分布也将是 限制马尔可夫链的分布,因此无论如何 您选择起始值,这将是 当您将链运行得越来越长时,输出会趋于收敛。它 事实证明,可以设计一个带有 平稳分布等于后验分布,甚至 虽然我们并不确切知道该分布是什么。这就对了 可以设计一个具有 $\pi( \theta | \mathbb{x} )$ 作为它的平稳极限分布,即使我们 知道 $\pi( \theta | \mathbb{x} ) \propto L_\mathbb{x}(\theta) \pi(\theta)$。有多种方法可以设计这种马尔可夫 链,这些不同的设计构成了可用的 MCMC 算法 用于从后验分布生成值。

一旦我们设计了这样的 MCMC 方法,我们就知道我们可以 输入任意起始值 $\theta_{(0)}$ 和 输出的分布将收敛到后验 分布(因为这是 连锁,链条)。所以我们可以从 通过从任意起始值开始的后验分布, 将其输入 MCMC 算法,等待链收敛 接近其平稳分布,然后取后续 输出作为我们的平局。

【讨论】:

  • 您在 CrossValidated 上找到了您正在寻找的确切答案这一事实表明您的问题不适合 StackOverflow。为了将来参考,您最好在此处删除您的问题,因为它是off-topic (i.e., not about programming)
猜你喜欢
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 2010-12-30
相关资源
最近更新 更多