Repository logo
 

Practical probabilistic programming with monads


Type

Conference Object

Change log

Authors

Åšcibior, A 
Gordon, AD 

Abstract

jats:pThe machine learning community has recently shown a lot of interest in practical probabilistic programming systems that target the problem of Bayesian inference. Such systems come in different forms, but they all express probabilistic models as computational processes using syntax resembling programming languages. In the functional programming community monads are known to offer a convenient and elegant abstraction for programming with probability distributions, but their use is often limited to very simple inference problems. We show that it is possible to use the monad abstraction to construct probabilistic models for machine learning, while still offering good performance of inference in challenging models. We use a GADT as an underlying representation of a probability distribution and apply Sequential Monte Carlo-based methods to achieve efficient inference. We define a formal semantics via measure theory. We demonstrate a clean and elegant implementation that achieves performance comparable with Anglican, a state-of-the-art probabilistic programming system.</jats:p>

Description

Keywords

Haskell, probabilistic programming, Bayesian statistics, monads, Monte Carlo

Journal Title

ACM SIGPLAN Notices

Conference Name

Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell

Journal ISSN

1523-2867
1558-1160

Volume Title

Publisher

Association for Computing Machinery (ACM)
Sponsorship
EPSRC (1471629)
The first author is supported by EPSRC and the Cambridge Trust.