Everything about Probabilistic programming
Software system for statistical models
Probabilistic programming (PP) is a programming paradigm based on the declarative specification of probabilistic models, for which inference is performed automatically. Probabilistic programming attempts to unify probabilistic modeling and traditional general purpose programming in order to make the former easier and more widely applicable. It can be used to create systems that help make decisions in the face of uncertainty. Programming languages following the probabilistic programming paradigm are referred to as "probabilistic programming languages" (PPLs). Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Probabilistic programmingA 5-minute orientation
- Skim a recent paper: PyMC: a modern, and comprehensive probabilistic programming framework in PythonInfluential work since 2022
- Pick up a classic book: Learning Probabilistic Graphical Models in RThe most-reprinted book on the subject
- Read the landmark paper: Stan : A Probabilistic Programming LanguageCited 6,167 times
- Go sideways: List of Julia software and toolsA closely related topic
- Go sideways: Stan (software)A closely related topic
📖 Definitions
Noun A programming paradigm in which programs specify probabilistic models through ordinary computational constructs augmented with primitives for random sampling and, in statistical applications, conditioning on observations.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Stan : A Probabilistic Programming Language
Probabilistic programming in Python using PyMC3
Human-level concept learning through probabilistic program induction
Probabilistic logic programming
Probabilistic (logic) programming concepts
Neural probabilistic logic programming in DeepProbLog
Probabilistic logic programming with conditional constraints
Probabilistic Analysis of Linear Programming Decoding
🆕 Influential since 2022
PyMC: a modern, and comprehensive probabilistic programming framework in Python
Practical Hilbert space approximate Bayesian Gaussian processes for probabilistic programming
Turing.jl: A General-Purpose Probabilistic Programming Language
Uncertainty quantification of inverse analysis for geomaterials using probabilistic programming
Static Posterior Inference of Bayesian Probabilistic Programming via Polynomial Solving
📚 Books worth reading
Learning Probabilistic Graphical Models in RDavid Bellot · 2016- 📕Rounded numbersR. Boultbee · 1990
The elements of artificial intelligenceS. Tanimoto · 1987
Automata, Languages and Programming fifth colloquium, Udine, Italy, July 17-21, 1978International Colloquium on Automata, Languages and Programming (5th 1978 Udine) · 1978
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- List of Julia software and tools This is a list of Julia software and tools, including IDEs, notebook environments, package management tools, scientific and machine-learning libraries…
- Stan (software) Stan is a probabilistic programming language for statistical inference written in C++. The Stan language is used to specify a (Bayesian) statistical model…
- ArviZ ArviZ (/ˈɑːrvɪz/ AR-vees) is a Python package for exploratory analysis of Bayesian models. It is specifically designed to work with the output of probabilistic…
- ProbLog ProbLog is a probabilistic logic programming language that extends Prolog with probabilities. It minimally extends Prolog by adding the notion of a probabilisti…
- Statistical relational learning Statistical relational learning (SRL) is a subdiscipline of artificial intelligence and machine learning that is concerned with domain models that exhibit…
- PyMC PyMC (formerly known as PyMC3) is a probabilistic programming library for Python. It can be used for Bayesian statistical modeling and probabilistic machine…
- List of things named after Thomas Bayes Thomas Bayes (/beɪz/ BAYZ; c. 1701 – 1761) was an English statistician, philosopher, and Presbyterian minister. Bayesian (/ˈbeɪziən/ BAY-zee-ən or /ˈbeɪʒən/…
- Probabilistic soft logic Probabilistic Soft Logic (PSL) is a statistical relational learning (SRL) framework for modeling probabilistic and relational domains. It is applicable…