Probabilistic abductive logic programming using Dirichlet priors - Turliuc, Calin Rares; Dickens, Luke; Russo, Alessandra; Broda, Krysia (International journal of approximate reasoning, 2016)
Probabilistic programming is an area of research that aims to develop general inference algorithms for probabilistic models expressed as probabilistic programs whose execution corresponds to inferring the parameters of those models. In this paper, we introduce a probabilistic programming language (PPL) based on abductive logic programming for performing inference in probabilistic models involving categorical distributions with Dirichlet priors. We encode these models as abductive logic programs enriched with probabilistic definitions and queries, and show how to execute and compile them to boolean formulas. Using the latter, we perform generalized inference using one of two proposed Markov Chain Monte Carlo (MCMC) sampling algorithms: an adaptation of uncollapsed Gibbs sampling from related work and a novel collapsed Gibbs sampling (CGS). We show that CGS converges faster than the uncollapsed version on a latent Dirichlet allocation (LDA) task using synthetic data. On similar data, we compare our PPL with LDA-specific algorithms and other PPLs. We find that all methods, except one, perform similarly and that the more expressive the PPL, the slower it is. We illustrate applications of our PPL on real data in two variants of LDA models (Seed and Cluster LDA), and in the repeated insertion model (RIM). In the latter, our PPL yields similar conclusions to inference with EM for Mallows models. •A probabilistic programming language for categorical models with Dirichlet priors.•A representation of categorical variables: conditional annotated disjunction compilation.•A collapsed Gibbs sampling algorithm for categorical models with Dirichlet priors.•We show that collapsed Gibbs sampling converges faster than uncollapsed on LDA.•We show inference results on real data using LDA and the repeated insertion model.