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 後端。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案