Bayesian Machine Learning and Information Processing (5SSD0)

This course covers the fundamentals of a Bayesian (i.e., probabilistic) approach to machine learning and information processing systems. The Bayesian approach allows for a unified and consistent treatment of many model-based machine learning techniques. We focus on Linear Gaussian systems and will discuss many useful models and applications, including common regression and classification methods, Gaussian mixture models, hidden Markov models and Kalman filters. We will discuss important algorithms for parameter estimation in these models including the Expectation-Maximization (EM) algorithm and Variational Bayes (VB). The Bayesian method also provides tools for comparing the performance of different information processing systems by means of estimating the ``Bayesian evidence’’ for each model. We will discuss several methods for approximating Bayesian evidence. Next, we will discuss intelligent agents that learn purposeful behavior from interactions with their environment. These agents are used for applications such as self-driving cars or interactive design of virtual and augmented realities. Indeed, in this course we relate synthetic Bayesian intelligent agents to natural intelligent agents such as the brain. You will be challenged to code Bayesian machine learning algorithms yourself and apply them to practical information processing problems.


  • (Wed 01-Apr). Solutions to assignments in the Probabilistic Programming notebooks have been made available. They’re in the exercises subfolder.
  • (Sun 29-Mar). We will have oral exams in April. Please follow further announcements at Canvas.
  • (Fri 13-Mar). In response to COVID-19, the TU/e is switching to online education.
  • (Wed 4-Mar). We have made an Installation Guide to help you run the notebooks on your own machine.
  • (Fri 28-Feb). A PDF booklet of lessons 0 through 12 is now available for download.
  • (Sat 22-Feb). Exercises without and with solutions for the fundamentals block are up! Next week no classes (carnaval). See you on Monday 2-March!



In principle, you can download all needed materials from this site.


Please download the following books/resources:

  1. Christopher M. Bishop (2006), Pattern Recognition and Machine Learning. You can also buy a hardcopy, e.g. at
  2. Ariel Caticha (2012), Entropic Inference and the Foundations of Physics

Lecture notes


Advanced Materials

Minicourse Probabilistic Programming

Bonus lecture

Exam Preparation

  • Each year there will be two written exam opportunities. Check the official TUE course site for exam dates.

  • In preparation for the exam, we recommend that you work through the following exercises:

  • Please feel free to consult the following matrix and Gaussian cheat sheets (by Sam Roweis) when making exercises.

  • Note however that you cannot bring notes or books to the exam. All needed formulas are supplied at the exam sheet.


  • Prerequisites for this course: Mathematical maturity equivalent to undergraduate engineering program. Scientific programming skills (e.g. in Python, MATLAB or Julia) are helpful.

  • You’re advised to bring the lecture notes (either in soft- or hardcopy) with you to class in order to add your personal comments.

  • Here you can find a guide to help you install Julia and Jupyter, so that you can open and run the course notebooks on your own machine.