Affine monads and lazy structures for Bayesian programming
We show that streams and lazy data structures are a natural idiom for programming with infinite-dimensional Bayesian methods such as Poisson processes, Gaussian processes, jump processes, Dirichlet processes, and Beta processes. The crucial semantic idea, inspired by developments in synthetic probab...
Main Authors: | , , , |
---|---|
Format: | Conference item |
Language: | English |
Published: |
ACM SIGPLAN
2023
|
_version_ | 1826309149388963840 |
---|---|
author | Dash, S Kaddar, Y Paquet, H Staton, S |
author_facet | Dash, S Kaddar, Y Paquet, H Staton, S |
author_sort | Dash, S |
collection | OXFORD |
description | We show that streams and lazy data structures are a natural idiom for programming with infinite-dimensional Bayesian methods such as Poisson processes, Gaussian processes, jump processes, Dirichlet processes, and Beta processes. The crucial semantic idea, inspired by developments in synthetic probability theory, is to work with two separate monads: an affine monad of probability, which supports laziness, and a commutative, non-affine monad of measures, which does not. (Affine means that T(1)≅ 1.) We show that the separation is important from a decidability perspective, and that the recent model of quasi-Borel spaces supports these two monads.
To perform Bayesian inference with these examples, we introduce new inference methods that are specially adapted to laziness; they are proven correct by reference to the Metropolis-Hastings-Green method. Our theoretical development is implemented as a Haskell library, LazyPPL. |
first_indexed | 2024-03-07T07:31:22Z |
format | Conference item |
id | oxford-uuid:14fb070b-ad63-4db5-942b-69a282a73947 |
institution | University of Oxford |
language | English |
last_indexed | 2024-03-07T07:31:22Z |
publishDate | 2023 |
publisher | ACM SIGPLAN |
record_format | dspace |
spelling | oxford-uuid:14fb070b-ad63-4db5-942b-69a282a739472023-01-23T10:32:38ZAffine monads and lazy structures for Bayesian programmingConference itemhttp://purl.org/coar/resource_type/c_5794uuid:14fb070b-ad63-4db5-942b-69a282a73947EnglishSymplectic ElementsACM SIGPLAN2023Dash, SKaddar, YPaquet, HStaton, SWe show that streams and lazy data structures are a natural idiom for programming with infinite-dimensional Bayesian methods such as Poisson processes, Gaussian processes, jump processes, Dirichlet processes, and Beta processes. The crucial semantic idea, inspired by developments in synthetic probability theory, is to work with two separate monads: an affine monad of probability, which supports laziness, and a commutative, non-affine monad of measures, which does not. (Affine means that T(1)≅ 1.) We show that the separation is important from a decidability perspective, and that the recent model of quasi-Borel spaces supports these two monads. To perform Bayesian inference with these examples, we introduce new inference methods that are specially adapted to laziness; they are proven correct by reference to the Metropolis-Hastings-Green method. Our theoretical development is implemented as a Haskell library, LazyPPL. |
spellingShingle | Dash, S Kaddar, Y Paquet, H Staton, S Affine monads and lazy structures for Bayesian programming |
title | Affine monads and lazy structures for Bayesian programming |
title_full | Affine monads and lazy structures for Bayesian programming |
title_fullStr | Affine monads and lazy structures for Bayesian programming |
title_full_unstemmed | Affine monads and lazy structures for Bayesian programming |
title_short | Affine monads and lazy structures for Bayesian programming |
title_sort | affine monads and lazy structures for bayesian programming |
work_keys_str_mv | AT dashs affinemonadsandlazystructuresforbayesianprogramming AT kaddary affinemonadsandlazystructuresforbayesianprogramming AT paqueth affinemonadsandlazystructuresforbayesianprogramming AT statons affinemonadsandlazystructuresforbayesianprogramming |