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 後端。
相關
- 專案
- 專案
- 專案
- 專案
- 專案