Abstract
This paper introduces a categorical framework to study the exact and approximate semantics of probabilistic programs. We construct a dagger symmetric monoidal category of Borel kernels where the dagger-structure is given by Bayesian inversion. We show functorial bridges between this category and categories of Banach lattices which formalize the move from kernel-based semantics to predicate transformer (backward) or state transformer (forward) semantics. These bridges are related by natural transformations, and we show in particular that the Radon-Nikodym and Riesz representation theorems - two pillars of probability theory - define natural transformations.With the mathematical infrastructure in place, we present a generic and endogenous approach to approximating kernels on standard Borel spaces which exploits the involutive structure of our category of kernels. The approximation can be formulated in several equivalent ways by using the functorial bridges and natural transformations described above. Finally, we show that for sensible discretization schemes, every Borel kernel can be approximated by kernels on finite spaces, and that these approximations converge for a natural choice of topology.We illustrate the theory by showing that our approximation scheme can be used in practice as an approximate Bayesian inference algorithm and as an approximation scheme for programs in the probabilistic network specification language ProbNetKAT.
Highlights
Finding a good category in which to study probabilistic programs is a subject of active research [22,17,6,21]
We have presented a framework for the exact and approximate semantics of firstorder probabilistic programming
Either forms come with related involutive structures: Bayesian inversion for kernels between Standard Borel spaces, and Kothe duality for positive linear and σ-continuous operators between Banach lattices
Summary
Finding a good category in which to study probabilistic programs is a subject of active research [22,17,6,21]. We build a category Krn of Borel kernels (§2) and we show how two kernels which agree almost everywhere can be identified under a categorical quotient operation This technical construction is what allows us to define Bayesian inversion as an involutive functor, denoted †. The main differences with our approach are: (i) unlike [22,21] we never leave the realm of kernels, and in particular we never need to worry about normalization This makes the interpretation of observe statements, i.e. of Bayesian inversion, simpler and more natural. (iii) we opt to work with Banach lattices rather than the normed cones of [18,4] because it allows us to formulate the operator side of the theory very naturally, and it connects to a large body of classic mathematical results ([2,25]) which have been used in the semantics of probabilistic programs as far back as Kozen’s seminal [16]
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have