Probabilistic programming



README.md

A collection of Microsoft Azure Notebooks (Jupyter notebooks hosted on Azure) providing demonstrations of probabilistic programming using the following frameworks:

  • Infer.NET "Infer.NET is a framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming"
  • Stan "Stan is freedom-respecting, open-source software for facilitating statistical inference at the frontiers of applied statistics."
  • PyMC (currently at PyMC3, with PyMC4 in the works) "PyMC3 is a Python package for Bayesian statistical modeling and probabilistic machine learning which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms."
  • Edward "A library for probabilistic modeling, inference, and criticism."

using the three supported languages of python, R & F#.

For

Nearly all of these collected notebooks & snippets are not written by me (Ian). I have made only small modifications to existing code to make it run on Azure Notebooks, usually a question of installing the correct packages & copying over input files such as data & Stan script files. The original authors are attributed but are requested to contact me to remove any material that they would prefer not to have hosted here. Some of the Infer.NET examples have been translated from C# to F#.

  • Demos for each framework
  • FSharp
    • Probability computation expression (monad)
    • Monty Hall
    • Language-oriented programming
  • Infer.NET "Infer.NET is a framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming"
  • Model-Based Machine Learning by John Winn & Christopher Bishop, with Thomas Diethe (early access) takes a novel & systematic approach to machine learning pedagogy in which the algorithms play second fiddle to the problems that they are required to solve. It's the assumptions that matter, & these are distilled into a model. The model dictates the algorithm.
  • Many great examples here: https://github.com/usptact

Winn, John Michael, and Christopher Bishop. 2018. Model-Based Machine Learning. Taylor & Francis Group. http://www.mbmlbook.com/. Abstract: This book is unusual for a machine learning text book in that the authors do not review dozens of different algorithms. Instead they introduce all of the key ideas through a series of case studies involving real-world applications. Case studies play a central role because it is only in the context of applications that it makes sense to discuss modelling assumptions. Each chapter therefore introduces one case study which is drawn from a real-world application that has been solved using a model-based approach.

To do

  • Stan "Stan is freedom-respecting, open-source software for facilitating statistical inference at the frontiers of applied statistics." To do
  • PyMC (currently at PyMC3, with PyMC4 in the works) "PyMC3 is a Python package for Bayesian statistical modeling and probabilistic machine learning which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms." To do
  • Edward "A library for probabilistic modeling, inference, and criticism." To do

To do

Clones Terminal Edit
Showing 9 notebooks