Bayesian Modeling - BKJackson/BKJackson_Wiki GitHub Wiki
Standard Probability Axioms
Range: 0 ≤ Pr(x) ≤ 1
Always true propositions: Pr(x) = 1
Always false propositions: Pr(x) = 0
Union: Pr(x V y) = Pr(x) + Pr(y) - Pr(x, y)
Dempster-Shafer theory
- attempts to distinguish between uncertainty and ignorance
- Whereas the probabilistic approach looks at the probability of X, we instead look at the probability that the available evidence supports X.
Expected Utility and Utility Functions
We wish to choose an action by maximizing expected utility.
A utility function U(s) measures the desirability of a state.
If we can express a probability distribution for the states resulting from alternative actions, then we can act in order to maximize expected utility.
Probabilistic reasoning through time
A fundamental idea throughout the AI courses has been that an agent should keep track of the state of the environment:
- The environment's state changes over time.
- The knowledge of how the state changes may be uncertain.
- The agent's perception of the state of the environment may be uncertain.
For all the usual reasons related to uncertainty, we need to move beyond logic, situation calculus, etc.
KL and Jensen-Shannon Divergence
From GAN to WGAN - Generative Adversarial Networks and Wasserstein GANs, includes discussion of KL and JS divergences.
Bayesian Changepoint Detection
Bayesian Changepoint Detection with PyMC3 - Chad Scherrer, Feb 25, 2018
Changepoint Detection. Part I - A Frequentist Approach - Nov 15, 2016
Changepoint Detection. Part II - A Bayesian Approach - Jan 25, 2017, Based on Ch. 5 of “Numerical Bayesian Methods Applied to Signal Processing” by Joseph O. Ruanaidh and William Fitzgerald.
Visualization
Visualization in Bayesian workflow
Baysian MCMC modeling with code
Study-V003-MCMC-Python-R - Written in R. Long README.md.
MCMC Algorithms - Collection of Monte Carlo (MC) and Markov Chain Monte Carlo (MCMC) algorithms applied on simple examples. Written from scratch with numpy. (by wiseodd)
Probabilistic Models - Collection of examples of various probabilistic models and inference algorithms. Written from scratch with only python 3, numpy, and matplotlib. (by wiseodd)
Implementation of Markov Chain Monte Carlo in Python from scratch - Written in a Jupyter notebook.
Explaining MCMC sampling with code - Good explanation by Thomas Wiecki.
Markov Chain Monte Carlo Methods for Bayesian Data Analysis in Astronomy - S. Sharma, 2006
Bayesian Decision Making applications
Using Bayesian Decision Making to Optimize Supply Chains - T. Wiecki. Jan 14, 2019. "In brief, by defining a loss function we can use an optimizer to find the best decision(s) not only under the most likely scenario, but under all possible scenarios."
Articles or Tutorials
Bayesian Modeling in Python A collection of examples focusing on the PyMC3 module using Markov Chain Monte Carlo fitting algorithms.
Bayesian machine learning An introduction. Also good discussion on Latent Dirichlet Allocation.
Anomaly Detection & Probabilistic Programming By Fast Forward Labs
Combinatorial Stochastic Processes and Nonparametric Bayesian Modeling Michael Jordan, UC Berkeley. Video.
Making Deep Networks Probabilistic via Test-time Dropout Includes discussion of Bayesian Convolutional Neural Networks.
NIPS 2016 Workshop on Bayesian Optimization Black-box Optimization and Beyond See papers.
Dynamic Bayesian Networks
amidstoolbox for Dynamic Bayesian Networks: Example code in Java. See arxiv paper by Masegosa et al (2017).
GeNIe Modeler - For creating Bayesian networks
Cholesky decomposition
Not positive definite problem:
"leading minor not positive definite" in Cholesky decomposition for lnprob calculation - Some tips from a github issue page for Starfish
Probabilistic Soft Logic
Probabilistic Soft Logic A machine learning framework for developing probabilistic models. PSL models are easy and fast: you can define them using a straightforward logical syntax and solve them with fast convex optimization. PSL has produced state-of-the-art results in many areas spanning natural language processing, social-network analysis, and computer vision.
Courses
Information Theory, Pattern Recognition, and Neural Networks David MacKay, U. Cambridge
Uncertainty I: Probability as Degree of Belief - Lecture notes, Sean Holden, U. Cambridge
Uncertainty V: Probabilistic reasoning through time - Lecture notes, Sean Holden, U. Cambridge. Covers Viterbi algorithm and HMM.
Videos
Solving Challenging Non-linear Regression Problems by Manipulating a Gaussian Distribution Carl Rasmussen, U. Cambridge. (2009) 25 min lecture. Includes Bayesian inference.
Bayesian Numerical Analysis Persi Diaconis, Stanford U. NIPS Workshop (2012). 30 min lecture.
Books
Gaussian Processes for Machine Learning Carl Rasmussen and Christopher Williams. (2006)
Gaussian Markov Processes Carl Rasmussen and Christopher Williams. (2006)
Books with code or notebooks
Probabilistic Programming & Bayesian Methods for Hackers - Notebooks