“NUTS 是Hamiltonian Monte Carlo的严格变体:目标仍为 $\pi(q)\propto e^{ U(q)}$,辅助动量仍来自 $N(0,M)$,轨迹仍由leapfrog…”
形式陈述 ​
考虑可分Hamilton 系统
其中
输入是
三段更新都是剪切映射,Jacobian 行列式为一;组合因而保持相空间体积。令动量翻转
这种时间对称性和辛性使它适合作为 HMC 的确定性提议。它一般不精确保持
leapfrog 对可分 Hamiltonian 可以显式计算。若动能不可分、质量矩阵依赖位置或含约束,以上三行不再是对应系统的正确积分器,可能需要隐式或广义辛方法。形式相似的 Euler 更新既不时间对称,能量误差也可能系统漂移;少一次梯度并不补偿错误的长程几何。
直觉
先用当前位置的力推动半步动量,再让这个居中动量推动整步位置,最后用新位置的力补齐另半步。两侧完全对称,所以把时间和动量反过来能逐段撤销。半步并非记账技巧,而是让位置和动量在同一时间中心对齐。
辛性不等于每步能量不变。它让离散轨迹精确对应一个邻近的“修正 Hamiltonian”,于是稳定区内的能量误差多为有界振荡,而不是随步数单向累积。HMC 再用首尾真实能量差校正剩余误差。
例子与边界
对一维标准正态势能
真实能量从
误差为
步长存在真实稳定边界。对同一单位谐振子,一步映射矩阵为
只有
有限精度还会使理论可逆性出现舍入差,但通常远小于截断误差;若梯度含不连续分支、随机噪声或状态相关近似容差,反演差可显著放大。此时不能只靠最终接受率判断映射是否仍满足 HMC 的提议假设。
推论与应用
在HMC中,步数
调试顺序应从单步公式开始:核对梯度符号,检查动量翻转后的往返误差,再观察
参考资料
- Ernst Hairer, Christian Lubich, and Gerhard Wanner, Geometric Numerical Integration, 2nd ed., Springer, 2006, Ch. VI, symplectic integration.
- Radford M. Neal, “MCMC Using Hamiltonian Dynamics,” in Handbook of Markov Chain Monte Carlo, CRC Press, 2011, Ch. 5, §2.3 in chapter, pp. 113–162.
- Benedict Leimkuhler and Sebastian Reich, Simulating Hamiltonian Dynamics, Cambridge University Press, 2004, Chs. 2–4.