## Bayesian Machine Learning |

Instructor: Piyush Rai: (office: KD-319, email: piyush AT cse DOT iitk DOT ac DOT in)

Class Venue: KD-101

Class Timings: MW 5:10-6:25pm

Instructor Office Hours: Thursday 4-5pm (KD-319)

TAs: Vijay Pal (vjpal@cse), Utsav Singh (utsavz@cse), Munender Kumar (munenderv@cse), Vinay Verma (vkverma@cse)

TA Office Hours: Vijay (Mon 4-5pm, KD-305), Munender (Tue 4-5pm, RM-504), Utsav (Wed 4-5pm, KD-315), Vinay (Fri 4-5pm, RM-504)

Date |
Topics |
Readings/References |
Slides/Notes |

Jan 9 | Course Logistics and Introduction to Bayesian Machine Learning | Nature article, A Roadmap to Bayesian ML | slides (print version) |

Jan 11 | A Warm-up via Simple Models: Beta-Bernoulli Model and Bayesian Linear Regression | Probability tutorial slides. PRML (Bishop) Chapter 2 (+ appendix B), or MLAPP (Murphy) Chapter 2, Wikipedia Entry on Conjugate Priors | slides (print version) |

Jan 16 | Bayesian Inference with Gaussian Distributions, Bayesian Linear Regression (revisited) | PRML (Bishop) Section 2.3 (up to 2.3.6), Section 3.3 (up to 3.3.2). Optional: MLAPP (Murphy) Chapter 4 | slides (print version) |

Jan 18 | Bayesian Generative Classification, and Bayesian naïve Bayes | Optional: MLAPP (Murphy) Section 3.5 | slides (print version) |

Jan 23 | Bayesian Discriminative Classification (Bayesian Logistic Regression). Inference via Laplace Approximation | MLAPP (Murphy) Section 8.4 (optional: Section 8.1-8.3 for background on Logistic Regression) | slides (print version) |

Jan 25 | Exponential Family and Its Role in Probabilistic Inference | PRML (Bishop) Section 2.4, or MLAPP (Murphy) Section 9.1-9.2 | slides (print version) |

Jan 30 | Exponential Family (Contd.) | MLAPP (Murphy) Section 9.1-9.2 | slides (print version) |

Feb 1 | Generalized Linear Models and Their Applications | MLAPP (Murphy) Section 9.3 | slides (print version) |

Feb 6 | Bayesian Inference with (Point) Estimation of Hyperparameters | Optional: Mike Tipping's tutorial paper on Bayesian Inference | slides (print version) |

Feb 11 | Bayesian Inference with Local Conjugacy | Optional Reading: Paper on Bayesian Probabilistic Matrix Factorization | slides (print version) |

Feb 13 | Approximate Bayesian Inference: Sampling Methods (1) | MLAPP (Murphy) Section 23.1-23.4.2, Optional: Intro to MCMC (up to Section 2) | slides (print version) |

Feb 15 | Approximate Bayesian Inference: Sampling Methods (2) | MLAPP (Murphy Section 24.1-24.3 | slides (print version) |

Feb 20 | Approximate Bayesian Inference: Variational Bayes (1) | PRML (Bishop) Section 10.1.1 and 10.1.3. Recommended: Variational Inference: A Review for Statisticians | slides (print version) |

Feb 22 | Approximate Bayesian Inference: Variational Bayes (2) | PRML (Bishop) Section 10.1 - 10.4. Recommended: Variational Inference: A Review for Statisticians | slides (print version) |

Mar 6 | Approximate Bayesian Inference: Scalable Inference via Stochastic VB | Optional Reading: Section 5.1-5.2 of this monograph | slides (print version) |

Mar 8 | Approximate Bayesian Inference: Some Other Methods (EP, SGLD - MCMC using Gradients, ABC) | PRML (Bishop) Section 10.7 and 10.7.1 for EP, Optional: SGLD paper, Another paper, Wikipedia Article on ABC | slides (print version) |

Mar 20 | Bayesian Nonparametrics: Gaussian Process for Nonparametric Function Approximation | MLAPP (Murphy) Sections 15.1-15.2.5, (Optional: 15.3-15.5) | slides (print version) |

Mar 22 | Bayesian Nonparametrics: Dirichlet Process for Nonparametric Bayesian Clustering | MLAPP (Murphy) Section 25.2 | slides (print version) |

Mar 27 | Bayesian Nonparametrics: Dirichlet Process Properties, Extensions, Beta Process | MLAPP (Murphy) Section 25.2, Optional: Dirichlet Process, A good informal description of DP with some demos | slides, (print version) |

Mar 29 | Bayesian Topic Models: Latent Dirichlet Allocation and Extensions | Optional Readings: Intro to Topic Models, Probabilistic Topic Models | slides, (print version) |

Apr 3 | Bayesian Deep Learning: Deep Latent Gaussian Models and Variational Autoencoders | On Bayesian Deep Learning, VAE: A Tutorial, Another Tutorial: Part 1, Part 2, An intuitive explanation of VAEs | slides, (print version) |

Apr 5 | Bayesian Deep Learning: Variational Autoencoders (Contd.), and Other Deep Generative Models | Readings from lecture 21 + Some optional readings: VAE paper, Structured VAE paper, Deep Exponential Families, Deep GPs | slides, (print version) |

Apr 10 | Bayesian Optimization | Optional Reading: Survey on Bayesian Optimization | slides, (print version) |

Apr 12 | Bayesian State-Space Models and Kalman Filtering | Optional Reading: Unified Overview of Linear Gaussian Models | slides, (print version) |

Apr 17 | Probabilistic Numerics and Bayesian Quadrature | Optional Reading: An Overview of Probabilistic Numerics, Other resources on probabilistic numerics | slides, (print version) |

Apr 19 | Perspectives on Bayesian Machine Learning | Additional slides from the Review class | slides, (print version) |

- Christopher Bishop, Pattern Recognition and Machine Learning (PRML), Springer, 2007.
- Kevin Murphy, Machine Learning: A Probabilistic Perspective (MLAPP), MIT Press, 2012
- Carl Rasmussen and Chris Williams. Gaussian Processes for Machine Learning. The MIT Press, 2006.
- David Mackay. Information Theory, Inference, and Learning Algorithms. Cambridge Univ. Press, 2003.
- David Barber. Bayesian Reasoning and Machine Learning Cambridge Univ. Press, 2012.
- Andrew Gelman, John B. Carlin, Hal S. Stern, David B. Dunson, Aki Vehtari, Donald B. Rubin. Bayesian Data Analysis, Chapman & Hall/CRC, 2013.

- MATLAB software accompanying the MLAPP book. Contains code and demos for most of the algorithms in the book.
- Edward: Python Library for Probabilistic Modeling and Inference. Highly recommended: very useful for quick prototyping of probabilistic models and building new models. Some documentation can be found here and here.
- Stan Probabilistic Programming Language. Highly recommended: very useful for quick prototyping of probabilistic models and building new models. Some documentation can be found here.
- BNPy: Bayesian nonparametric machine learning in Python
- GPML (MATLAB based) and GPStuff (MATLAB/Octave/R based): Libraries for developing Gaussian Process (GP) based models, which allow learning nonlinear functions in a fully Bayesian way.
- Infer.NET: A framework (from Microsoft) for doing Bayesian inference in probabilistic graphical models