TuringLang / AdvancedHMC.jl

Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms
https://turinglang.org/AdvancedHMC.jl/
MIT License
237 stars 41 forks source link

Add Pathfinder adaptation #282

Open sethaxen opened 2 years ago

sethaxen commented 2 years ago

Pathfinder is a variational method for initializing MCMC methods, implemented at https://github.com/sethaxen/Pathfinder.jl. When it works well, it returns draws from the typical set so that the warm-up period can be skipped, which is especially useful when one wants to sample many chains in parallel. When it fails, it's still useful for initializing further warm-up.

Pathfinder also returns a multivariate normal approximation to the target distribution. For HMC, the covariance of this matrix can be used to initialize the inverse metric adaptation, so Pathfinder effectively acts as a replacement for the first 2 adaptation windows. This can be combined with the metric adaptation scheme proposed in #277 for further windows.