TuringLang/AdvancedHMC.jl
Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms
解决的问题
AdvancedHMC.jl 提供了一种稳健且高效的方法,用于从复杂概率分布中进行马尔可夫链蒙特卡洛(MCMC)采样。它特别实现了先进的哈密顿蒙特卡洛(HMC)算法,这些算法在高维空间中比简单的随机游走梅特罗波利斯-黑斯廷斯算法更高效。
工作原理
该库通过实现哈密顿动力学来模拟轨迹,使采样器能够更有效地在目标分布上移动。它被设计为概率编程语言(如 Turing.jl)的模块化后端,但也可以独立使用。它与 LogDensityProblems.jl 集成以定义目标分布,并通过 LogDensityProblemsAD.jl 实现自动微分(AD)来计算 HMC 所需的梯度。
适用人群
需要高性能 MCMC 采样进行贝叶斯推断的研究人员和数据科学家,特别是使用 Julia 语言和概率编程生态系统的用户。
主要亮点
- 前沿的 HMC 变体:包含无须折返采样器(NUTS)的实现。
- 模块化设计:允许用户自定义度量、自适应机制和哈密顿轨迹模拟。
- 广泛集成:与 Julia MCMC 生态系统无缝集成,包括
AbstractMCMC.jl以及通过LogDensityProblemsAD.jl支持的各种 AD 后端。
相关
- 项目
- 项目
- 项目
- 项目
- 项目