Probabilistic Programming Module

1. Probabilistic Programming background

  • Bayes theorem

  • Probabilistic Programming

    • DSL for model construction, inference and evaluation

    • Inference Engines

    • PyMC3, PyStan and Edward 2

  • Estimating integrals

  • Numerical integration (Quadrature)

  • Curse of dimensionality and concentration of measure

  • Working with random variables

  • Monte Carlo simulations

  • Monte Carlo integration

  • Drawing pictures

2. Metropolis, Metropolis-Hastings and Gibbs

  • Markov Chains

  • Reversibility

  • Metropolis

  • Metropolis-Hastings

  • Gibbs

3. HMC and NUTS

  • Probability and Physics

  • Hamiltonian systems

  • Integrating ODEs

  • HMC

  • Tuning with the No U-Turn Sampler (NUTS)

  • Visualizing HMC

4. Deterministic inference engines

  • Grid evaluation

  • Laplace approximation

  • Variational inference

  • Kullback-Leibler divergence and ELBO

  • Limitations of mean-field approximations

5. PyMC3 I

  • Mechanics

    • Model

    • Inference

    • Evaluation

  • Inference engies in PyMC3

  • Using arviz for visualization

  • Bernoulli-Binomial model

  • Linear regression

  • Robust linear regression

  • Logistic regression

  • Poisson regression

  • The GLM module

6. PyMC3 II

  • Change point models

  • Hierarchical models

  • Mixture models

7. PyMC3 III

  • Non-parametric model concepts

  • GP models

  • DP models

8. TF

  • The data flow graph and lazy evaluation

  • Automatic differentiation

  • Optimization

  • Models in TF

  • Models in keras

9. TF Probability

  • Probability distributions

  • Basic usage of Edward 2 with coin toss example

  • Regression with Edward 2

In [ ]: