Many probabilistic inference algorithms, both exact and approximate, have been developed to run efficiently on various probabilistic models in the recent decades. For many probabilistic models, exact inference is, however, infeasible or impossible. As such, approximate algorithms are often necessary. In this thesis, a method for partially applying exact inference in probabilistic programming languages using Monte Carlo inference algorithms is introduced and formalized. More specifically, this method allows for conditioning on observations in the probabilistic program before performing sampling, where applicable. We show that this method, called delayed sampling, can be used to reduce mean squared error of estimators based on samples generated by probabilistic programs. We also show that delayed sampling never leads to an increase in mean squared error of estimators. An evaluation is performed with an implementation of delayed sampling in the probabilistic programming language Anglican. The results demonstrate clear reductions in mean squared error for simple examples, but the overhead is also shown to be quite substantial for the Anglican implementation. / Många probabilistiska inferensalgoritmer, både exakta och approximativa, har utvecklats för att fungera effektivt på olika probabilistiska modeller under de senaste decennierna. För många probabilistiska modeller är exakt inferens emellertid otänkbar eller omöjlig. På grund av detta är ofta approximativa algoritmer nödvändiga. I denna avhandling introduceras och formaliseras en metod för att delvis tillämpa exakt inferens i probabilistiska programmeringsspråk med Monte Carlo-inferensalgoritmer. Mer specifikt tillåter denna metod att konditionera på observationer i det probabilistiska programmet innan provtagning utförs, där så är tillämpligt. Vi visar att den här metoden, som kallas fördröjd provtagning, kan användas för att minska genomsnittliga kvadratiska fel för estimatorer som baseras på prover genererade av probabilistiska program. Vi visar också att fördröjd provtagning aldrig leder till en ökning av genomsnittliga kvadratiska fel för estimatorer. En utvärdering utförs med en implementering av fördröjd provtagning i det probabilistiska programmeringsspråket Anglican. Resultaten visar tydliga minskningar i genomsnittligt kvadratfel för enkla exempel, men beräkningskostnaderna visar sig också vara ganska betydande för implementationen i Anglican.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-210756 |
Date | January 2017 |
Creators | Lundén, Daniel |
Publisher | KTH, Skolan för datavetenskap och kommunikation (CSC) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0021 seconds