哈密​​顿量/混合 MCMC“质量矩阵”术语

机器算法验证 贝叶斯 马尔可夫链蒙特卡罗 蒙特卡洛
2022-03-29 21:50:40

我正在尝试使用非对角质量矩阵来实现 HMC,但我被一些术语绊倒了。

根据 BDA3 和 Neal 的评论,动能项(我猜为了方便总是使用它)是

K(p)=pTM1p2.

这也是可识别的,称为具有零均值和协方差矩阵的多元正态M. BDA3 (pg 301) 说

为简单起见,我们通常使用对角质量矩阵 M。如果是这样,则 φ 的分量是独立的,对于每个维度 j = 1,都有 φj ∼ N(0,Mjj)。. . ,d。对 M 使用后验分布的逆协方差矩阵 (var(θ|y))^-1 进行粗略缩放可能很有用。

(我正在阅读 N(0, M)) 作为均值为零和协方差 M 的多元正态。)

让我绊倒的部分是说“它可能对M用后验分布的逆协方差矩阵粗略缩放......”。

然后也是在此之前开始越级步骤的动量样本(ϕ) 是从具有协方差矩阵的多元法线绘制的M.

那么它是哪一个?要为 HMC 构造一个好的 M,我应该估计后验的协方差还是精度矩阵?虽然M动能的协方差矩阵,使用M那是对后验精度矩阵的估计会产生更有效的算法吗?

第二个问题:可以指导我的直觉是什么?

  • 您是否想使用精确矩阵以使动量与势能/后验正交推动以改善混合?

  • 或者您是否希望动量推向后验的高概率质量部分(因为那是您想要从中提取大多数样本的地方)。

ps 我不使用单位矩阵的原因M是因为对于我的问题,我碰巧能够事先获得对我相当高维(~1000)后验的协方差矩阵的不错估计。

3个回答

位置变量的线性变换等价于动量变量的线性变换。理想情况下,您希望从协方差矩阵为单位矩阵的(变换后的)分布中采样,这是通过上述变换获得的。

有关详细信息,Neal 的“使用哈密顿动力学的 MCMC”,马尔可夫链蒙特卡罗手册第 5 章,第 4.1 节(“线性变换的影响”)中有一个很好的解释。本章可在此处获得。

尼尔解释说:

假设我们有一个估计,Σ, 的协方差矩阵q, 并假设q至少具有大致高斯分布。我们如何使用这些信息来提高 HMC 的性能?一种方法是变换变量,使它们的协方差矩阵接近恒等式,通过找到 Cholesky 分解,Σ=LLT, 和L是下三角形,并且让q=L1q. []

利用估计协方差的等效方法Σ是保持原样q变量,但使用动能函数K(p)=pTΣp/2— 即,我们让动量变量具有协方差Σ1. 通过将这个动能转换为对应于q=L1q(见方程(4.1)),它给出K(p)=(p)TM1pM=(L1(LLT)(L1)T)1=I.

为了给出一些直觉,假设目标 pdf 是雪茄形的,指向一个非轴对齐的方向。您可以旋转并重新缩放空间,使雪茄变成一个球,然后从单位多元法线绘制动量,或者等效地,您可以保留原始空间并绘制动量,使它们与雪茄对齐(例如,大部分速度沿雪茄的主轴,以便您可以快速探索它)。

一个简单的方法来看看为什么M应该是您要从中采样的分布的逆协方差是考虑从具有任意均值的多元正态中采样μ和协方差Σ. 在这种情况下,可以精确求解哈密顿运动方程(即,不需要越级积分)。现在,对于M=Σ1发生了两件神奇的事情:(i)每个坐标的运动方程与其他坐标解耦,以及(ii)矩阵ΣM相互抵消并从运动方程中消失。解决方案是一组具有相同频率的振荡器,可以说可以产生最快的混频。在此处查看 eqs (2.31)-(2.35) 中的一些详细信息

在一般分布中,这种方法只是一个近似值。

使用估计协方差的线性变换动量的显着部分。

给定一个估计Σ^后验 HMC 的协方差矩阵的采样来自:

  1. ϕN(0,Σ^1)

  2. 模拟哈密顿动力学。(重复 L 次)

    A. 半步:ϕϕ+12ϵddθlogp(θy).

    B. 全步:θθ+ϵΣ^ϕ.

    C. 半步:ϕϕ+12ϵddθlogp(θy).

  3. 接受/拒绝。

(如果这是正确的,请不要投票,请投票@lacerbi)