tensorflow / tensorflow/probability
Extend No-U-Turn Sampler with multinomial sampling and generalized terminations
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 4.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
The current implementation (soon to be available in this repo's experimental/) implements Algorithm 3 from Hoffman and Gelman (2014).
Betancourt (2017) (twitter) notes that Stan's implementation has made several improvements. In particular, the paper points to two extensions:
- generalized No-U-Turn termination criterion (Section A.4.2);
- multinomial sampling from each trajectory instead of slice sampling (Section A.2.2).
Contributions are welcome. For incremental pull requests, please implement and test one extension at a time.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Algorithm 3 implementation in experimental/ and the cited Betancourt paper sections A.4.2 and A.2.2. Implement and test one extension at a time: generalized No-U-Turn termination or multinomial sampling from each trajectory, with completion shown by tests for the selected extension.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- tensorflow
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100