We spell out the paradigm of exact conditioning as an intuitive and powerful way of conditioning on observations in probabilistic programs. This is contrasted with likelihood-based scoring known from languages such as Stan. We study exact conditioning in the cases of discrete and Gaussian probability, presenting prototypical languages for each case and giving semantics to them. We make use of categorical probability (namely Markov and CD categories) to give a general account of exact conditioning which avoids limits and measure theory, instead focusing on restructuring dataflow and program equations. The correspondence between such categories and a class of programming languages is made precise by defining the internal language of a CD category.
翻译:我们阐述了精确条件化这一范式,将其视为概率程序中基于观测条件化的直观且强大的方法。这与基于似然评分的语言(如Stan)形成对比。我们研究了离散概率和高斯概率情况下的精确条件化,为每种情况设计了原型语言并给出了语义。我们利用范畴概率论(即马尔可夫范畴和CD范畴)来给出精确条件化的一般性描述,该方法避开了极限和测度论,转而关注数据流和程序方程的重构。通过定义CD范畴的内部语言,精确地建立了这些范畴与一类编程语言之间的对应关系。