Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yebai committed Mar 7, 2019
1 parent d402b61 commit 2249429
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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

0 comments on commit 2249429

Please sign in to comment.