Support for HMC
Opened this issue Β· 9 comments
Hamiltonian Monte Carlo methods
- Vanilla HMC
- Riemannian Manifold HMC
- Lagrangian HMC
@mandar2812 Can you help me here?
The standard method is leapfrog (StoΜrmer-Verlet) integration, I'm thinking of using a exponential integrator, which is robust to stiff ordinary differential equations with highly-oscillatory components. This oscillation is difficult to reproduce using leapfrog integration, even with carefully
selected integration parameters and preconditioning. But we can use our Gaussian distribution
approximation to segregate stiff components of the ordinary differential equation. We can also integrate this term analytically for stability and account for deviation from the approximation using variation of constants.
@amitkumarj441 : Sounds interesting, do you have any reference links for this exponential integrator method? I would like to read up on it, as it would be relevant to my research activities.
@amitkumarj441 : Since we have enough for v1.4.1 release, lets try to ship Hamiltonian Monte Carlo in the next release. So far vanilla MC has been implemented in 91fd052 and 5686482
@mandar2812 Will have to ask my friend? I will get you the stuffs soon.
Actually we communicated over phone and I asked her about Exponential Integration for Hamiltonian Monte Carlo and finally concluded that HMC is limited to the scale of the stiff components to avoid perturbing the energy of the system and consequently lowering MCMC acceptance rates. This results in limited motion in sample space, requiring many integration steps to explore the space. More generally, stiff ordinary differential equations occur in HMC whenever target distributions tightly peak around their modes, further motivating the need for advanced integrators. Although preconditioning can reduce stiffness and partially alleviate this problem.
Thanks @mandar2812 for letting me know about these commits! π
I'll try to punch HMC by this week for next release.
@amitkumarj441 I see what you mean. Keep me posted on the work you do on HMC, lets collaborate more closely on this one. Keep in touch via gitter!
Thanks @mandar2812 !
Yeah, sure! @gitter-badger is awesome π
@mandar2812 Please have a look at this paper: Inference using Riemannian Manifold Hamiltonian Monte Carlo.
@amitkumarj441 Yes this is the paper which introduced RM-HMC, I created this issue after coming across it.