Bayesian Machine Learning and Information Processing (at TU Eindhoven)
This course introduces Bayesian machine learning and information processing systems. The Bayesian approach offers a unified, consistent framework for many useful information processing systems.
This course covers the fundamentals of a Bayesian (i.e., probabilistic) approach to machine learning and information processing systems. The Bayesian approach provides a unified, consistent framework for many model-based machine learning techniques.
We begin with linear Gaussian systems and discuss useful models and applications, including common regression and classification methods, Gaussian mixture models, hidden Markov models, and Kalman filters. We will discuss essential algorithms for parameter estimation in these models, including the Variational Bayes method.
The Bayesian method also provides tools for comparing the performance of different information-processing systems by 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 through interactions with their environment. These agents are used in applications such as self-driving cars and the 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.
- Most announcements will be distributed through Piazza. Sign up here!
- Prof.dr.ir. Bert de Vries (email: bert.de.vries@tue.nl) is the responsible instructor for this course and teaches the lectures with label B.
- Dr. Wouter Kouw (w.m.kouw@tue.nl) teaches the probabilistic programming lectures with label W.
- Dr. Dmitry Bagaev is our teaching assistant.
- Fons van der Plas is our educational advisor who is responsible for all Pluto-related issues. If you have ideas on making the course more interactive, contact Fons.
All course materials are available in the table below. If necessary, you can download the lecture notes in PDF format here:
- B lecture notes version 30-Oct-2026
- W lecture notes version 30-Oct-2026
We recommend that you read the lecture notes in your browser to take advantage of the interactive materials we prepared for this course, which are based on Pluto.jl.
The following (freely downloadable) book is optional but can be useful for additional reading:
- Christopher M. Bishop (2006), Pattern Recognition and Machine Learning.
Please follow the software installation instructions. If you encounter any problems, please get in touch with us in class or on Piazza.
You can access all lecture materials online through the links below:
| date | topic | lecture notes | assignments | video recordings (2023/24) |
|---|---|---|---|---|
| 11-Nov-2026 (Wed) | ⚪️ B0: Course Syllabus ⚪️ B1: Machine Learning Overview |
B0, B1 | B0, B1 | |
| 13-Nov-2026 (Fri) | ⚪️ B2: Probability Theory Review | B2 | B2.1, B2.2 | |
| 18-Nov-2026 (Wed) | ⚪️ B3: Bayesian Machine Learning | B3 | B3.1, B3.2 | |
| 20-Nov-2026 (Fri) | ⚪️ B4: Factor Graphs and the Sum-Product Algorithm | B4 | B4.1, B4.2 | |
| 25-Nov-2026 (Wed) | 🟢 Introduction to Julia | W0 | ||
| 27-Nov-2026 (Fri) | 🔴 Pick-up Julia programming assignment A0 | A0 | ||
| 27-Nov-2026 (Fri) | ⚪️ B5: Density Estimation | B5 | B5.1, B5.2, B5.3 | |
| 02-Dec-2026 (Wed) | 🟢 Probabilistic Programming 1 - Bayesian inference with conjugate models | W1 | W1.1, W1.2 | |
| 04-Dec-2026 (Fri) | ⚪️ B6: Regression | B6 | B6.1, B6.2 | |
| 04-Dec-2026 | 🔴 Submission deadline assignment A0 | submit | ||
| 04-Dec-2026 | 🔴 Pick-up probabilistic programming assignment A1 | A1 (how to open) | ||
| 09-Dec-2026 (Wed) | ⚪️ B7: Generative Classification ⚪️ B8: Discriminative Classification |
B7, B8 | B7, B8 | |
| 11-Dec-2026 (Fri) | 🟢 Probabilistic Programming 2 - Bayesian regression & classification | W2 | W2.1, W2.2 | |
| 16-Dec-2026 (Wed) | ⚪️ B9: Latent Variable Models and Variational Bayes | B9 | B9.1, B9.2 | |
| 18-Dec-2026 (Fri) | 🟢 Probabilistic Programming 3 - Variational Bayesian inference | W3 | W3.1, W3.2 | |
| 18-Dec-2026 | 🔴 Submission deadline assignment A1 | submit | ||
| 🔵 break | ||||
| 06-Jan-2027 (Wed) | ⚪️ B10: Dynamic Models | B10 | B10 | |
| 08-Jan-2027 (Fri) | ⚪️ B11: Intelligent Agents and Active Inference | B11, slides |
B11.1, B11.2 | |
| 08-Jan-2027 | 🔴 Pick-up probabilistic programming assignment A2 | A2 (how to open) | ||
| 13-Jan-2027 (Wed) | 🟢 Probabilistic Programming 4 - Bayesian filters & smoothers | W4 | W4.1, W4.2 | |
| 15-Jan-2027 (Fri) | 🟢 TO BE DETERMINED | |||
| 22-Jan-2027 (Fri) | 🔴 Submission deadline assignment A2 | submit | ||
| 28-Jan-2027 (Thu) | 🔵 written examination (13:30-16:30) | |||
| TBD | 🔴 Pick-up resit programming assignment | Resit (how to open) | ||
| TBD | 🔴 Submission deadline resit assignment | submit | ||
| TBD | 🔵 resit written examination (18:00-21:00) | |||
Throughout the course, you can read Minis that deep-dive into specific topics. You can find the full list of minis here:
| Mini: | 🟡 Sum and product of Gaussian variables | link |
|---|---|---|
| Mini: | 🟡 Distributions in Julia | link |
| Mini: | 🟡 Basis Functions | link |
| Mini: | 🟡 The Softmax Function | link |
| Mini: | 🟡 Generative Classification | link |
| Mini: | 🟡 Laplace Approximation | link |
| Mini: | 🟡 Kullback-Leibler Divergence | link |
| Mini: | 🟡 How to use this knowledge | link |
| Mini: | 🟡 RxInfer Tips & Tricks | link |
- You can not bring a formula sheet, nor use a phone or calculator at the exam. This Formula Sheet will be provided in the preamble of the exam. You can use the formula sheet when making any exercises.
-
The written exam will be a multiple-choice exam, just like the examples below. This year, there will be no probabilistic programming question in the written exam.
-
In addition to the materials in the above table, we provide two representative practice written exams:
- 3-Feb-2022: exam ; answers ; calculations
- 2-Feb-2023: exam ; answers ; calculations
- Programming assignments can be downloaded and submitted through the links in the above table.
- The final grade is composed of the results of programming assignment(s) (20%) and the final written exam (80%). The grade will be rounded to the nearest integer.
Take a look at https://github.com/bmlip/course/tree/main/developer%20instructions for more information aimed at the course lecturers and website admins.
