Modeling the World Probabilistically using Bayesian Networks in Clojure
summary
Clojure library raposo implements Bayesian networks with support for discrete and continuous variables, a protocoled Observed interface for sets/maps or legacy Java data, and incremental model updates so priors change as data streams in. Structure learning currently uses Monte Carlo, inference queries return concrete posteriors (example: ~84% wet given rain+sprinkler in demo), and planned work targets compilation to circuits, elision of irrelevant variables, and a GitHub release.
AI-written summary · about
chapters (18)
- 0:00Intro
- 1:53@cemerick
- 2:22Why Bayesian networks?
- 6:05Domains & Applications
- 7:23Document analysis
- 9:16Features (random variables)
- 11:00Appeal to logic
- 12:01Sometimes logic isn't enough
- 12:19Joint probability distribution
- 14:40Bayesian probability
- 15:29JPDs don't scale
- 16:25Features random variables
- 17:43Network effects
- 20:54Data
- 24:13Modeling the world (MCMC)
- 24:52Query
- 26:20Raposo TODO
- 28:46Thank you!
related talks
38mProbabilistic programming and meta-programming in Clojure
41mBayesian Network Modeling using R and Python
47mSimple Bayesian Networks with Ruby
01h 03mAn Overview of Probabilistic Programming
42mBayes and Bool Walk into a Bar
40mBuilding Machine Learning Models with Clojure and Cortex
26mAffine Monads and Lazy Structures for Bayesian Programming
30mProbabilistic modelling with Scala
