哈密顿蒙特卡洛:高效采样的物理智慧
哈密顿蒙特卡洛的核心思想
哈密顿蒙特卡洛(HMC)通过引入物理系统的哈密顿动力学来改进传统马尔可夫链蒙特卡洛(MCMC)的采样效率。其核心是将目标概率分布转化为势能函数,并引入辅助动量变量构建动力学系统。采样过程模拟粒子在势能场中的运动,通过哈密顿方程保持相空间体积守恒,从而避免随机游走行为。
动力学系统构建
目标分布 $\pi(q)$ 对应势能函数 $U(q) = -\log \pi(q)$,动量 $p$ 服从高斯分布生成动能 $K(p) = p^T p /2$。联合哈密顿量为: $$ H(q,p) = U(q) + K(p) $$ 动力学演化遵循微分方程: $$ \frac{dq}{dt} = \frac{\partial H}{\partial p}, \quad \frac{dp}{dt} = -\frac{\partial H}{\partial q} $$
数值积分与Metropolis校正
采用蛙跳积分(Leapfrog)离散化哈密顿方程: $$ p_{t+\epsilon/2} = p_t - \frac{\epsilon}{2} \nabla U(q_t) \ q_{t+\epsilon} = q_t + \epsilon p_{t+\epsilon/2} \ p_{t+\epsilon} = p_{t+\epsilon/2} - \frac{\epsilon}{2} \nabla U(q_{t+\epsilon}) $$ 每轮迭代包含 $L$ 步蛙跳积分,步长 $\epsilon$ 需调参。最终通过Metropolis-Hastings准则以概率 $\min(1, \exp(-H_{\text{new}} + H_{\text{old}}))$ 接受新状态。
Python代码框架示例
import numpy as np
def hmc(U, grad_U, epsilon, L, current_q):
q = current_q.copy()
p = np.random.normal(size=q.shape) # 动量初始化
current_p = p.copy()
# 蛙跳积分
p -= epsilon * grad_U(q) / 2
for _ in range(L):
q += epsilon * p
if _ != L-1: # 最后半步不更新动量
p -= epsilon * grad_U(q)
p -= epsilon * grad_U(q) / 2
# Metropolis校正
current_H = U(current_q) + np.sum(current_p**2)/2
proposed_H = U(q) + np.sum(p**2)/2
if np.random.rand() < np.exp(current_H - proposed_H):
return q
return current_q
调参与优化策略
- 步长$\epsilon$:通过自适应方法调整使接受率接近65%(NUTS算法的经验值)
- 轨迹长度$L$:短轨迹导致随机游走,长轨迹增加计算成本,可采用随机化$L$或动态调整
- 质量矩阵:对高维异方差变量可引入预条件矩阵改进动量分布
对比传统MCMC的优势
HMC在高维空间中的混合速度显著优于随机游走型MCMC。对于强相关变量,动能项的引入使采样路径沿等概率轮廓移动,避免Gibbs采样或Metropolis-Hastings的锯齿模式。实际测试显示,对于100维高斯分布,HMC达到稳态的迭代次数可比MH减少90%。
(注:完整实现需添加自适应调参、收敛诊断等功能模块)
BbS.okacop020.info/PoSt/1120_769385.HtM
BbS.okacop021.info/PoSt/1120_493225.HtM
BbS.okacop022.info/PoSt/1120_398217.HtM
BbS.okacop023.info/PoSt/1120_082446.HtM
BbS.okacop024.info/PoSt/1120_449389.HtM
BbS.okacop025.info/PoSt/1120_573549.HtM
BbS.okacop026.info/PoSt/1120_502767.HtM
BbS.okacop027.info/PoSt/1120_112155.HtM
BbS.okacop028.info/PoSt/1120_695028.HtM
BbS.okacop029.info/PoSt/1120_472651.HtM
BbS.okacop020.info/PoSt/1120_795954.HtM
BbS.okacop021.info/PoSt/1120_613268.HtM
BbS.okacop022.info/PoSt/1120_516955.HtM
BbS.okacop023.info/PoSt/1120_001291.HtM
BbS.okacop024.info/PoSt/1120_767870.HtM
BbS.okacop025.info/PoSt/1120_378682.HtM
BbS.okacop026.info/PoSt/1120_788463.HtM
BbS.okacop027.info/PoSt/1120_361249.HtM
BbS.okacop028.info/PoSt/1120_406101.HtM
BbS.okacop029.info/PoSt/1120_425820.HtM
BbS.okacop020.info/PoSt/1120_470305.HtM
BbS.okacop021.info/PoSt/1120_629604.HtM
BbS.okacop022.info/PoSt/1120_188733.HtM
BbS.okacop023.info/PoSt/1120_054406.HtM
BbS.okacop024.info/PoSt/1120_124230.HtM
BbS.okacop025.info/PoSt/1120_523089.HtM
BbS.okacop026.info/PoSt/1120_471946.HtM
BbS.okacop027.info/PoSt/1120_564727.HtM
BbS.okacop028.info/PoSt/1120_129120.HtM
BbS.okacop029.info/PoSt/1120_024669.HtM
BbS.okacop030.info/PoSt/1120_710868.HtM
BbS.okacop031.info/PoSt/1120_310112.HtM
BbS.okacop032.info/PoSt/1120_230836.HtM
BbS.okacop033.info/PoSt/1120_873815.HtM
BbS.okacop034.info/PoSt/1120_233070.HtM
BbS.okacop035.info/PoSt/1120_923501.HtM
BbS.okacop036.info/PoSt/1120_742920.HtM
BbS.okacop037.info/PoSt/1120_918112.HtM
BbS.okacop038.info/PoSt/1120_500313.HtM
BbS.okacop039.info/PoSt/1120_412882.HtM
BbS.okacop030.info/PoSt/1120_494909.HtM
BbS.okacop031.info/PoSt/1120_566466.HtM
BbS.okacop032.info/PoSt/1120_885763.HtM
BbS.okacop033.info/PoSt/1120_320406.HtM
BbS.okacop034.info/PoSt/1120_315679.HtM
BbS.okacop035.info/PoSt/1120_790088.HtM
BbS.okacop036.info/PoSt/1120_551399.HtM
BbS.okacop037.info/PoSt/1120_829875.HtM
BbS.okacop038.info/PoSt/1120_435404.HtM
BbS.okacop039.info/PoSt/1120_755132.HtM
BbS.okacop030.info/PoSt/1120_780721.HtM
BbS.okacop031.info/PoSt/1120_988849.HtM
BbS.okacop032.info/PoSt/1120_014210.HtM
BbS.okacop033.info/PoSt/1120_831476.HtM
BbS.okacop034.info/PoSt/1120_068810.HtM
BbS.okacop035.info/PoSt/1120_484744.HtM
BbS.okacop036.info/PoSt/1120_695550.HtM
BbS.okacop037.info/PoSt/1120_747425.HtM
BbS.okacop038.info/PoSt/1120_261595.HtM
BbS.okacop039.info/PoSt/1120_764977.HtM
BbS.okacop030.info/PoSt/1120_903512.HtM
BbS.okacop031.info/PoSt/1120_840418.HtM
BbS.okacop032.info/PoSt/1120_433245.HtM
BbS.okacop033.info/PoSt/1120_637969.HtM
BbS.okacop034.info/PoSt/1120_271511.HtM
BbS.okacop035.info/PoSt/1120_745351.HtM
BbS.okacop036.info/PoSt/1120_081173.HtM
BbS.okacop037.info/PoSt/1120_459486.HtM
BbS.okacop038.info/PoSt/1120_576072.HtM
BbS.okacop039.info/PoSt/1120_473985.HtM
BbS.okacop030.info/PoSt/1120_315382.HtM
BbS.okacop031.info/PoSt/1120_822161.HtM
BbS.okacop032.info/PoSt/1120_902737.HtM
BbS.okacop033.info/PoSt/1120_003445.HtM
BbS.okacop034.info/PoSt/1120_866201.HtM
BbS.okacop035.info/PoSt/1120_098053.HtM
BbS.okacop036.info/PoSt/1120_157978.HtM
BbS.okacop037.info/PoSt/1120_518484.HtM
BbS.okacop038.info/PoSt/1120_953956.HtM
BbS.okacop039.info/PoSt/1120_792823.HtM
