Probabilistic programming is the other Big Thing to happen in machine learning alongside deep learning. It is also closely tied to functional programming. In this talk I will explain the goals of probabilistic programming and how we can implement a probabilistic programming language in Scala.

Probabilistic models are one of the main approaches in machine learning. Probabilistic programming aims to make expressive probabilistic models cheaper to develop. This is achieved by expressing the model within a DSL, and then compiling learning (inference) algorithms from the model description. This automates one of the main tasks in building a probabilistic model, and provides the same benefits as a compiler for a traditional high-level language.

The close tie to mathematics of functional programming languages like Scala makes them an ideal platform for embedding probabilistic programming. In this talk I will describe probabilistic models, and show how we can use the bag of tricks in the Scala programmer’s toolbox to achieve a simple and elegant embedding probabilistic programming within Scala .

Where and When

This talk will be given by Noel Welsh at the Typelevel Summit in Philadelphia on 2 March 2016.