diff --git a/README.md b/README.md index 5b59aff4..98757f98 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,10 @@ -# A No-U-Turn Sampler (NUTS) Implementation in Julia +# Efficient Hamiltonian Monte Carlo implementation in Julia **The code from this repository is used to implement NUTS in [Turing.jl](https://github.com/yebai/Turing.jl). Try it out when it's available!** -This package implements the No-U-Turn Sampler (NUTS) described in Algorithm 2, 3 and 6 from ([Hoffman & Gelman, 2011][1]). ## Usage -1. Clone this repository in a location (call `PATH`) -2. In order to use this package, add `include("$PATH/nuts.jl"); using NUTSJulia;`in the top of you file -3. Generate your own initial parameter & log-probaiblity function and pass it with the corresponding setting parameters to the sampler (see API below) - See `example.jl` for an example of sampling from a mixture of Gaussians. ## API @@ -37,6 +32,17 @@ NUTS(θ0, 0.65, x -> log(f(x)), 2000, 200) ## Reference -[arXiv:1111.4246][1]: Hoffman, M. D., & Gelman, A. (2011, November 18). The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo. arXiv.org. +1. Neal, R. M. (2011). MCMC using Hamiltonian dynamics. Handbook of Markov chain Monte Carlo, 2(11), 2. ([pdf](https://arxiv.org/pdf/1206.1901)) + +2. Betancourt, M. (2017). A Conceptual Introduction to Hamiltonian Monte Carlo. [arXiv preprint arXiv:1701.02434](https://arxiv.org/abs/1701.02434). + +3. Girolami, M., & Calderhead, B. (2011). Riemann manifold Langevin and Hamiltonian Monte Carlo methods. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 73(2), 123-214. ([link](https://rss.onlinelibrary.wiley.com/doi/full/10.1111/j.1467-9868.2010.00765.x)) + +4. Betancourt, M. J., Byrne, S., & Girolami, M. (2014). Optimizing the integrator step size for Hamiltonian Monte Carlo. [arXiv preprint arXiv:1411.6669](https://arxiv.org/pdf/1411.6669). + +5. Betancourt, M. (2016). Identifying the optimal integration time in Hamiltonian Monte Carlo. [arXiv preprint arXiv:1601.00225](https://arxiv.org/abs/1601.00225). + +6. Hoffman, M. D., & Gelman, A. (2014). The No-U-Turn Sampler: adaptively setting path lengths in Hamiltonian Monte Carlo. Journal of Machine Learning Research, 15(1), 1593-1623. ([link][1]) + [1]: http://arxiv.org/abs/1111.4246