A Model-Learner Pattern for Bayesian Reasoning
2013 (English)In: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages / [ed] Roberto Giacobazzi, Radhia Cousot, New York, NY: Association for Computing Machinery (ACM), 2013, 403-416 p.Conference paper (Refereed)
A Bayesian model is based on a pair of probability distributions, known as the prior and sampling distributions. A wide range of fundamental machine learning tasks, including regression, classification, clustering, and many others, can all be seen as Bayesian models. We propose a new probabilistic programming abstraction, a typed Bayesian model, which is based on a pair of probabilistic expressions for the prior and sampling distributions. A sampler for a model is an algorithm to compute synthetic data from its sampling distribution, while a learner for a model is an algorithm for probabilistic inference on the model. Models, samplers, and learners form a generic programming pattern for model-based inference. They support the uniform expression of common tasks including model testing, and generic compositions such as mixture models, evidence-based model averaging, and mixtures of experts. A formal semantics supports reasoning about model equivalence and implementation correctness. By developing a series of examples and three learner implementations based on exact inference, factor graphs, and Markov chain Monte Carlo, we demonstrate the broad applicability of this new programming pattern.
Place, publisher, year, edition, pages
New York, NY: Association for Computing Machinery (ACM), 2013. 403-416 p.
, ACM SIGPLAN NOTICES, ISSN 0362-1340 ; 48
Programming patterns, Probabilistic programming, Machine learning
Research subject Computer Science
IdentifiersURN: urn:nbn:se:uu:diva-198944DOI: 10.1145/2429069.2429119ISI: 000318629900035ISBN: 978-1-4503-1832-7OAI: oai:DiVA.org:uu-198944DiVA: diva2:618613
The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages