MCMC 如何帮助贝叶斯推理?
How does MCMC help bayesian inference?
文献称MCMC中的metropolis-hasting算法是上个世纪最重要的算法之一,具有革命性意义。文献也说,正是 MCMC 的这种发展,让贝叶斯统计得到了第二次诞生。
我了解 MCMC 的作用 - 它提供了一种从任何复杂的概率分布中抽取样本的有效方法。
我也知道什么是贝叶斯推理 - 它是计算参数的完整后验分布的过程。
我很难把这些点联系起来:
MCMC 在贝叶斯推理过程的哪一步发挥作用?为什么MCMC如此重要以至于有人说是MCMC让贝叶斯统计重生了??
您可能想在 StatsExchange 上提出类似的问题。然而,这里是一个高级 "build some intuition" 答案的尝试 (免责声明:我是一名计算机科学家,而不是统计学家。前往 StatsExchange 进行更正式的讨论)。
贝叶斯推理:
在最基本的意义上,我们遵循贝叶斯法则:p(Θ|y)=p(y|Θ)p(Θ)/p(y)。这里 p(Θ|y) 称为 'posterior' ,这就是您要计算的内容。 p(y|Θ) 称为 'data likelihood',通常由您的模型或数据的 生成描述 给出。 p(Θ) 称为 'prior',它捕捉了您在观察数据之前对参数合理值的看法。 p(y) 称为 'marginal likelihood' 并且使用全概率定律可以表示为 ∫ p(y|Θ)p(Θ) dΘ。这看起来非常整洁,但实际上 p(y) 通常难以分析计算,并且在高维度(即当 Θ 具有多个维度时)数值积分是不精确的并且在计算上难以处理。在某些情况下,问题的 共轭结构 允许您进行分析计算,但在许多有用的模型中,这根本不可能。因此,我们转向近似后验
有两种方法(我知道)来近似后验:Monte Carlo和变分推理。既然你问了 MCMC,我就坚持下去。
Monte Carlo(和马尔可夫链Monte Carlo):
统计学中的许多问题都涉及对概率分布下函数的期望。根据 大数定律 ,可以通过 Monte Carlo 估计器有效地近似期望值。因此,如果我们可以从分布中抽取样本(即使我们不知道分布本身),那么我们就可以计算出所讨论期望的 Monte Carlo 估计值。关键是我们不需要有一个分布表达式:如果我们只有样本,那么我们就可以计算出我们感兴趣的期望值。但是有一个问题……如何绘制样本??
已经有很多工作开发了从未知分布中抽取样本的方法。其中包括 'rejection'、'importance' 和 'slice' 采样。这些都是伟大的创新,在许多应用中都很有用,但它们都因无法很好地扩展到高维度而受到影响。例如,拒绝抽样从已知的 'proposal' 分布中抽取样本,然后根据需要评估似然函数和建议函数的概率接受或拒绝该样本。这在 1 维中很棒,但随着维数的增加,给定样本被拒绝的概率质量会急剧增加。
马尔可夫链 Monte Carlo 是一项具有一些非常好的理论保证的创新。关键思想不是从建议分布中随机抽取样本,而是使用已知样本(希望样本位于高概率质量区域),然后在从建议分布抽取的情况下进行小的随机步骤.理想情况下,如果第一次抽取是在高概率质量区域,则第二次抽取也可能被接受。因此,您最终会接受更多的样本,而不会浪费时间绘制要拒绝的样本。令人惊奇的是,如果你 运行 马尔可夫链足够长(即无穷大)并且在特定条件下(链必须是有限的、非周期性的、不可约的和遍历的)那么你的样本 将 从模型的真实后部绘制。太棒了! MCMC 技术是绘制 dependent 样本,因此它可以扩展到比以前的方法更高的维度,但在正确的条件下,即使样本是相关的,它们也好像是 IID 绘制的来自所需的分布(贝叶斯推理中的后验分布)。
将它们结合在一起(希望能回答您的问题):
MCMC 可以看作是启用 贝叶斯推理的工具(就像共轭结构的分析计算一样,变分推理和Monte Carlo 是替代方案)。除了解析解之外,所有其他工具都近似真实后验。然后,我们的目标是使近似值尽可能好,并尽可能便宜地执行此操作(计算成本和计算一堆杂乱代数的成本)。以前的采样方法无法扩展到高维(这是任何现实世界问题的典型特征),因此贝叶斯推理在许多情况下在计算上变得非常昂贵且不切实际。然而,MCMC 打开了一种新方法的大门,可以从高维后验中有效地抽取样本,以良好的理论保证做到这一点,并且(相对)容易且计算成本低。
值得一提的是,Metropolis 本身也存在问题:它与高度相关的潜在参数 space 作斗争,它需要用户指定的提议分布,并且样本之间的相关性可能很高,从而导致有偏差的结果。因此,人们提出了更现代、有时更有用的 MCMC 工具来尝试解决这个问题。有关最新技术,请参阅 'Hamiltonian Monte Carlo' 和 'No U-Turn Sampler'。尽管如此,Metropolis 是一项巨大的创新,它突然使现实世界的问题在计算上变得易于处理。
最后一点:请参阅 this discussion by MacKay 以获得对这些主题的非常好的概述。
这个post https://stats.stackexchange.com/a/344360/137466 完美地解决了我关于 MCMC 抽样如何帮助解决贝叶斯推理的问题。特别是 post 中的以下部分是我错过的关键概念:
The Markov chain has a stationary
distribution
which is the distribution that preserves itself if you run it through
the chain. Under certain broad assumptions (e.g., the chain is
irreducible, aperiodic), the stationary distribution will also be the
limiting distribution of the Markov chain, so that regardless of how
you choose the starting value, this will be the distribution that the
outputs converge towards as you run the chain longer and longer. It
turns out that it is possible to design a Markov chain with a
stationary distribution equal to the posterior distribution, even
though we don't know exactly what that distribution is. That is, it
is possible to design a Markov chain that has $\pi( \theta |
\mathbb{x} )$ as its stationary limiting distribution, even if all we
know is that $\pi( \theta | \mathbb{x} ) \propto L_\mathbb{x}(\theta)
\pi(\theta)$. There are various ways to design this kind of Markov
chain, and these various designs constitute available MCMC algorithms
for generating values from the posterior distribution.
Once we have designed an MCMC method like this, we know that we can
feed in any arbitrary starting value $\theta_{(0)}$ and the
distribution of the outputs will converge to the posterior
distribution (since this is the stationary limiting distribution of
the chain). So we can draw (non-independent) samples from the
posterior distribution by starting with an arbitrary starting value,
feeding it into the MCMC algorithm, waiting for the chain to converge
close to its stationary distribution, and then taking the subsequent
outputs as our draws.
文献称MCMC中的metropolis-hasting算法是上个世纪最重要的算法之一,具有革命性意义。文献也说,正是 MCMC 的这种发展,让贝叶斯统计得到了第二次诞生。
我了解 MCMC 的作用 - 它提供了一种从任何复杂的概率分布中抽取样本的有效方法。
我也知道什么是贝叶斯推理 - 它是计算参数的完整后验分布的过程。
我很难把这些点联系起来: MCMC 在贝叶斯推理过程的哪一步发挥作用?为什么MCMC如此重要以至于有人说是MCMC让贝叶斯统计重生了??
您可能想在 StatsExchange 上提出类似的问题。然而,这里是一个高级 "build some intuition" 答案的尝试 (免责声明:我是一名计算机科学家,而不是统计学家。前往 StatsExchange 进行更正式的讨论)。
贝叶斯推理:
在最基本的意义上,我们遵循贝叶斯法则:p(Θ|y)=p(y|Θ)p(Θ)/p(y)。这里 p(Θ|y) 称为 'posterior' ,这就是您要计算的内容。 p(y|Θ) 称为 'data likelihood',通常由您的模型或数据的 生成描述 给出。 p(Θ) 称为 'prior',它捕捉了您在观察数据之前对参数合理值的看法。 p(y) 称为 'marginal likelihood' 并且使用全概率定律可以表示为 ∫ p(y|Θ)p(Θ) dΘ。这看起来非常整洁,但实际上 p(y) 通常难以分析计算,并且在高维度(即当 Θ 具有多个维度时)数值积分是不精确的并且在计算上难以处理。在某些情况下,问题的 共轭结构 允许您进行分析计算,但在许多有用的模型中,这根本不可能。因此,我们转向近似后验
有两种方法(我知道)来近似后验:Monte Carlo和变分推理。既然你问了 MCMC,我就坚持下去。
Monte Carlo(和马尔可夫链Monte Carlo):
统计学中的许多问题都涉及对概率分布下函数的期望。根据 大数定律 ,可以通过 Monte Carlo 估计器有效地近似期望值。因此,如果我们可以从分布中抽取样本(即使我们不知道分布本身),那么我们就可以计算出所讨论期望的 Monte Carlo 估计值。关键是我们不需要有一个分布表达式:如果我们只有样本,那么我们就可以计算出我们感兴趣的期望值。但是有一个问题……如何绘制样本??
已经有很多工作开发了从未知分布中抽取样本的方法。其中包括 'rejection'、'importance' 和 'slice' 采样。这些都是伟大的创新,在许多应用中都很有用,但它们都因无法很好地扩展到高维度而受到影响。例如,拒绝抽样从已知的 'proposal' 分布中抽取样本,然后根据需要评估似然函数和建议函数的概率接受或拒绝该样本。这在 1 维中很棒,但随着维数的增加,给定样本被拒绝的概率质量会急剧增加。
马尔可夫链 Monte Carlo 是一项具有一些非常好的理论保证的创新。关键思想不是从建议分布中随机抽取样本,而是使用已知样本(希望样本位于高概率质量区域),然后在从建议分布抽取的情况下进行小的随机步骤.理想情况下,如果第一次抽取是在高概率质量区域,则第二次抽取也可能被接受。因此,您最终会接受更多的样本,而不会浪费时间绘制要拒绝的样本。令人惊奇的是,如果你 运行 马尔可夫链足够长(即无穷大)并且在特定条件下(链必须是有限的、非周期性的、不可约的和遍历的)那么你的样本 将 从模型的真实后部绘制。太棒了! MCMC 技术是绘制 dependent 样本,因此它可以扩展到比以前的方法更高的维度,但在正确的条件下,即使样本是相关的,它们也好像是 IID 绘制的来自所需的分布(贝叶斯推理中的后验分布)。
将它们结合在一起(希望能回答您的问题):
MCMC 可以看作是启用 贝叶斯推理的工具(就像共轭结构的分析计算一样,变分推理和Monte Carlo 是替代方案)。除了解析解之外,所有其他工具都近似真实后验。然后,我们的目标是使近似值尽可能好,并尽可能便宜地执行此操作(计算成本和计算一堆杂乱代数的成本)。以前的采样方法无法扩展到高维(这是任何现实世界问题的典型特征),因此贝叶斯推理在许多情况下在计算上变得非常昂贵且不切实际。然而,MCMC 打开了一种新方法的大门,可以从高维后验中有效地抽取样本,以良好的理论保证做到这一点,并且(相对)容易且计算成本低。
值得一提的是,Metropolis 本身也存在问题:它与高度相关的潜在参数 space 作斗争,它需要用户指定的提议分布,并且样本之间的相关性可能很高,从而导致有偏差的结果。因此,人们提出了更现代、有时更有用的 MCMC 工具来尝试解决这个问题。有关最新技术,请参阅 'Hamiltonian Monte Carlo' 和 'No U-Turn Sampler'。尽管如此,Metropolis 是一项巨大的创新,它突然使现实世界的问题在计算上变得易于处理。
最后一点:请参阅 this discussion by MacKay 以获得对这些主题的非常好的概述。
这个post https://stats.stackexchange.com/a/344360/137466 完美地解决了我关于 MCMC 抽样如何帮助解决贝叶斯推理的问题。特别是 post 中的以下部分是我错过的关键概念:
The Markov chain has a stationary distribution which is the distribution that preserves itself if you run it through the chain. Under certain broad assumptions (e.g., the chain is irreducible, aperiodic), the stationary distribution will also be the limiting distribution of the Markov chain, so that regardless of how you choose the starting value, this will be the distribution that the outputs converge towards as you run the chain longer and longer. It turns out that it is possible to design a Markov chain with a stationary distribution equal to the posterior distribution, even though we don't know exactly what that distribution is. That is, it is possible to design a Markov chain that has $\pi( \theta | \mathbb{x} )$ as its stationary limiting distribution, even if all we know is that $\pi( \theta | \mathbb{x} ) \propto L_\mathbb{x}(\theta) \pi(\theta)$. There are various ways to design this kind of Markov chain, and these various designs constitute available MCMC algorithms for generating values from the posterior distribution.
Once we have designed an MCMC method like this, we know that we can feed in any arbitrary starting value $\theta_{(0)}$ and the distribution of the outputs will converge to the posterior distribution (since this is the stationary limiting distribution of the chain). So we can draw (non-independent) samples from the posterior distribution by starting with an arbitrary starting value, feeding it into the MCMC algorithm, waiting for the chain to converge close to its stationary distribution, and then taking the subsequent outputs as our draws.