为什么在某些情况下,哈密顿动力学比MCMC中的随机游走方案好?


10

在某些情况下,汉密尔顿动力学总是比Metropolis算法中的随机游走更好。有人可以在没有太多数学的情况下用简单的单词来解释原因吗?


1
@JuhoKokkala,通常,在高维问题中,随机游走建议没有良好的性能,但是,半动态学具有。
Fly_back

@JuhoKokkala我对HMC的理解是,我们在哈密顿动力学系统中获得了具有低能量H的样本,然后我提出了一个测验,即为什么总是可以接受由哈密顿动力学提出的样本。
Fly_back

3
在11月初,安德鲁·盖尔曼(Andrew Gelman)发表了关于迈克尔贝塔库尔(Michael Betancourt)的“美丽的新论文”的说明,其中提到了HMC比随机MCMC更好的原因。盖尔曼的主要观点是HMC的速度至少是竞争方法的两倍。 andrewgelman.com/2016/11/03/...
迈克·亨特

2
这个问题有点不太明确,但是考虑到下面发布的答案,我认为答案尚不明确。我投票决定不公开。
gung-恢复莫妮卡

Answers:


14

首先,让我指出,我不相信HMC(哈密顿蒙特卡罗)的接受率始终不会比Metropolis算法高。正如@JuhoKokkala指出的那样,Metropolis的接受率是可调的,并且高接受率并不意味着您的算法在探索后验分布方面做得很好。如果您仅使用非常狭窄的投标分布(例如且很小),您将获得极高的接受率,但这只是因为您基本上总是待在同一个地方,而没有探索整个后验分布。σT(q|q)=N(q,σI)σ

我认为您真正要问的是(如果我是对的,那么请相应地编辑您的问题)是为什么汉密尔顿式蒙特卡洛(在某些情况下)比大都市更好的性能。“更好的性能”是指,对于许多应用程序,如果将HMC 生成的链与Metropolis算法生成的等长(相同样本数)链进行比较,则HMC链要比HMC链更快地达到稳态。大都会链找到负对数似然率的较低值(或类似值,但迭代次数较少),有效样本量较小,样本的自相关随滞后衰减更快等。N

我将尝试说明为什么会发生这种情况,而不必过多地讨论数学细节。因此,首先回顾一下,MCMC算法通常对于计算一个或多个函数 关于目标密度高维积分(期望)很有用,尤其是当我们没有一种直接从目标密度采样的方法:π q fπ(q)

Eπ[f]=Qf(q)π(q)dq1dqd

其中是和依赖的参数的向量,而是参数空间。现在,在高维中,对上述积分贡献最大的参数空间的体积不是的模的邻域(即,不是围绕的MLE估计的狭窄体积),因为这里是大,但成交量很小。d ˚F π Q π q q π q qdfπQπ(q)qπ(q)

例如,假设您要计算点距的原点的平均距离,则其坐标是均值为零且单位方差为零的独立高斯变量。然后上述积分变为:- [R dqRd

Eπ[X]=Q||q||(2π)d/2exp(||q||2/2)dq1dqd

现在,目标密度的最大值显然为0。到球坐标并引入,您会看到被积数与成正比。显然,该功能在距原点一定距离处具有最大值。内对积分值贡献最大的区域称为典型集合,对于该积分,典型集合是半径为的球形壳。 [R = | | q | | [R d - 1个 EXP - [R 2 / 2 d - [R Q - [R α π(q)=(2π)d/2exp(||q||2/2)r=||q||rd1exp(r2/2)drQRd

现在,可以证明,在理想条件下,MCMC生成的马尔可夫链首先收敛到典型集合中的一个点,然后开始探索整个集合,最后继续探索集合的细节。通过这样做,期望的MCMC估计变得越来越准确,其偏差和方差随着步数的增加而减小。

但是,当典型集合的几何形状复杂时(例如,如果它在二维上具有尖点),则标准随机游动Metropolis算法在探索集合的“病理”细节时会遇到很多困难。它倾向于在这些区域“周围”随机跳动,而不进行探索。实际上,这意味着积分的估计值趋于围绕正确值振荡,并且以有限的步数中断链会导致严重的估计偏差。

汉密尔顿蒙特卡洛(Hamiltonian Monte Carlo)试图通过使用目标分布中包含的信息(以其梯度)告知提案新的采样点,而不是简单地使用与目标项目无关的提案分布,来解决此问题。因此,这就是为什么我们说HMC使用目标分布的导数来更有效地探索参数空间。然而,目标分布的梯度,其本身是充分的通知建议步骤。如以随机点到的原点的平均距离为例Rd,目标分布的梯度本身就将我们引向分布的模态,但是模态周围的区域不一定是对上述积分贡献最大的区域,即不是典型集合。

为了获得正确的方向,在HMC中,我们引入了一组辅助变量,称为动量变量。物理模拟可以在这里提供帮助。绕行星运行的卫星只有在其动量具有“正确”值的情况下才会保持稳定的轨道,否则它将漂移到开放空间,或者被重力吸引拖向行星(在这里起着作用)目标密度的梯度(向模式“拉”))。以同样的方式,动量参数具有将新样本保留在典型集合内的作用,而不是使它们向尾巴或模式漂移。

这是迈克尔·贝当古(Michael Betancourt)撰写的一篇非常有趣的论文的简短摘要,该论文在没有过多数学的情况下解释了汉密尔顿蒙特卡洛。您可以在此处找到详细介绍该论文的文章。

这篇文章没有足够详细地介绍一件事,即IMO,是什么时候以及为什么HMC会比随机游走的大都市做得更糟。这种情况并不经常发生(以我有限的经验),但是有可能发生。毕竟,您引入了梯度,可以帮助您在高维参数空间中找到自己的方式,但同时也会使问题的维数增加一倍。从理论上讲,由于维数增加而导致的减速可能会克服利用梯度产生的加速度。同样(如果本文涵盖了这一点),如果典型集合具有高曲率区域,则HMC可能会“过冲”,即,它可能开始对尾部很远的无用点进行采样,这对预期没有任何贡献。然而,这会导致辛积分器的不稳定性,该辛积分器在实践中用于以数值方式实现HMC。因此,这种问题很容易诊断。


1
我看到在写答案时,@ DJohnson还引用了Betancourt的论文。但是,我认为答案仍然可以作为总结本文内容的有用工具。
DeltaIV

3

正如@JuhoKokkala在评论中提到的那样,高接受率并不一定能带来良好的性能。大都市黑斯廷斯大学的接受率可以通过缩小提案分布来提高。但是,这将导致采取较小的步骤,从而需要更长的时间来探索目标分布。实际上,在步长和接受率之间需要权衡,并且需要适当的平衡以获得良好的性能。

汉密尔顿蒙特卡洛趋向于超越大都会黑斯廷斯,因为它可以以更高的接受概率到达更远的地方。因此,问题是:为什么HMC在较远的点上倾向于具有比MH高的接受概率?

MH很难到达遥远的地方,因为它的建议是在不使用有关目标分布的信息的情况下提出的。提案分布通常是各向同性的(例如,对称高斯分布)。因此,在每个点上,算法都会尝试在随机方向上移动随机距离。如果距离相对于目标分布在该方向上变化的速度较小,则很有可能使当前点和新点处的密度相似,从而至少有合理的接受机会。在更大的距离上,目标分布可能相对于当前点发生了很大变化。因此,随机发现具有相似或(希望)更高密度的点的机会可能会很小,尤其是随着维数的增加。例如,如果当前点位于狭窄的山脊上,

相比之下,HMC利用目标分布的结构。可以像Neal(2012)中所述,使用物理类比来考虑其提议机制。想象一下,一个冰球在多小山的无摩擦表面上滑动。冰球的位置表示当前点,表面的高度表示目标分布的负对数。为了获得一个新的建议点,给圆盘以一个随机方向和大小的动量,然后在圆盘在表面上滑动时对其动力学进行模拟。冰球将在下坡方向加速,并在上坡方向减速(也许甚至停止并再次滑下坡)。沿着谷壁向侧面移动的轨迹将向下弯曲。因此,景观本身会影响轨迹并将其拉向更高概率的区域。动量可以使冰球在小山丘上隆起,也可以使小盆地超出。经过一些时间步长后,冰球的位置会给出新的建议点,使用标准的Metropolis规则可以接受或拒绝该点。利用目标分布(及其梯度)可以使HMC以较高的接受率到达较远的点。

这是一个很好的评论:

尼尔(2012)。MCMC使用哈密顿动力学。


0

作为一个宽松的答案(这似乎是您要寻找的东西),哈密顿方法考虑了对数似然的导数,而标准MH算法则没有考虑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.