Probabilistic Programming: What It Is and How It Works - Noel Welsh
Channel: Typelevel
Date: 12/04/2016

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 an embedded 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.

With the close tie of functional programming to mathematics, and the use of techniques like the free monad, functional programming languages are an ideal platform for embedding probabilistic programming.

* Event * 

Typelevel Summit Philadelphia, March 2016: http://typelevel.org/event/2016-03-summit-philadelphia

* About Speaker *

Noel Welsh is a partner at Underscore, a consultancy that specializes in Scala. He’s been using Scala for 6 years in all sorts of applications. He’s the author of Advanced Scala, which is in the process of being rewritten to use Cats.

* Licensing *

This recording is licensed under CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/).

Title image: Ryan Hallock on Flickr, https://flic.kr/p/tCR6T1, licensed under CC-BY 2.0