probabilistic programming languages
1. basic idea
- The language makes it easy to specify a generative process
- for example: coin bias sampled from a beta distribution, and then a coin toss sampled for a given bias
- The language also makes it easy to condition on observations
- Then, the output of our program could be a sample from the generative process, conditioned on the observations
- i.e., we could get a sample from the posterior of the bias, given an observed "heads" outcome
- mental model for what's happening under the hood during evaluation: rejection sampling where we only keep the samples where heads was the outcome
2. see
- An introduction to probablistic programming – van de Meent et al