Answers:
不会掉头是如何生成建议。HMC生成了一个假设的物理系统:想象一个具有一定动能的球围绕着您想要采样的后验定义的山谷和丘陵景观(类比分解超过2个维度)。每次您想要获取一个新的MCMC样本时,您都会随机选择动能并从您所在的位置开始滚动。您可以模拟离散的时间步长,并确保正确探索参数空间,可以模拟一个方向的步长,而模拟另一个方向的步长两倍,再次转弯等。在某个时候,您想停止这种情况,这是个好方法这样做是当您掉头(即似乎到处走过)时。
此时,从您所访问的点(有一定限制)中选择了建议的马尔可夫链下一步。也就是说,假设物理系统的整个模拟是“公正的”,以得到随后被接受(下一个MCMC样本是提议的点)或被拒绝(下一个MCMC样本是起点)的提议。
聪明的是,提案是根据后方的形状提出的,并且可以位于分布的另一端。相比之下,Metropolis-Hastings在一个(可能是倾斜的)球内提出建议,而Gibbs采样一次只能沿一个(或至少很少)维度移动。
您错误地认为HMC不是Markov Chain方法。根据维基百科:
在数学和物理学中,混合蒙特卡罗算法(也称为哈密顿蒙特卡罗)是一种马尔可夫链蒙特卡罗方法,用于从难以直接采样的概率分布中获得随机样本序列。该序列可用于近似分布(即生成直方图)或计算积分(例如期望值)。
为了更清晰,请阅读Betancourt的arXiv文章,其中提到了NUTS终止标准:
...确定一条轨迹何时足够长,可以对当前能量水平集周围的邻域进行足够的探索。特别是,我们要避免积分太短(这种情况下我们不会充分利用汉密尔顿轨道)和积分太长(这两种情况下我们都不会在勘探中浪费宝贵的计算资源,而这只会产生递减的收益)。
附录A.3讨论了您提到的轨迹加倍的情况:
我们还可以通过在每次迭代中将轨迹长度加倍来更快地扩展,从而产生采样轨迹t〜T(t | z)= U T2L并具有相应的采样状态z'〜T(z'| t)。在这种情况下,每次迭代中的旧轨迹分量和新轨迹分量都等于完美的有序二叉树的叶子(图37)。这使我们可以递归地构建新的轨迹分量,在递归的每个步骤中传播一个样本...
并在A.4中对此进行了扩展,在其中讨论了动态实现(A.3节讨论了静态实现):
幸运的是,一旦我们选择了确定轨迹何时长到足以令人满意地探索相应能量水平的标准,就可以迭代第A.3节中讨论的有效静态方案来实现动态实现。
我认为关键是它不会将跳转数增加一倍,而是使用一种将拟议的跳转长度增加一倍直至满足条件的技术来计算其下一个跳转。到目前为止,至少这就是我的理解方式。