TuringLang/AdvancedHMC.jl
Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms
What it solves
AdvancedHMC.jl provides a robust and efficient way to perform Markov Chain Monte Carlo (MCMC) sampling from complex probability distributions. It specifically implements advanced Hamiltonian Monte Carlo (HMC) algorithms, which are more efficient than simple random-walk Metropolis-Hastings algorithms for high-dimensional spaces.
How it works
The library implements Hamiltonian dynamics to simulate trajectories that allow the sampler to move more effectively across the target distribution. It is designed as a modular backend for probabilistic programming languages like Turing.jl, but can be used independently. It integrates with LogDensityProblems.jl to define target distributions and LogDensityProblemsAD.jl for automatic differentiation (AD) to compute the gradients required for HMC.
Who it’s for
Researchers and data scientists who need high-performance MCMC sampling for Bayesian inference, particularly those using the Julia language and the probabilistic programming ecosystem.
Highlights
- State-of-the-art HMC variants: Includes implementations of the No-U-Turn Sampler (NUTS).
- Modular Design: Allows users to customize metrics, adaptation, and Hamiltonian trajectory simulation.
- Broad Integration: Works seamlessly with the Julia MCMC ecosystem, including
AbstractMCMC.jland various AD backends viaLogDensityProblemsAD.jl.
Related
- Project
- Project
- Project
- Project
- Project