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

Descrizione completa

Dettagli Bibliografici
Autori principali: Dash, S, Kaddar, Y, Paquet, H, Staton, S
Natura: Conference item
Lingua:English
Pubblicazione: 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