Teaching Introduction to Bayesian Networks

I got the opportunity to teach the Bayesian Networks module in the master course Knowledge Representation at VU.

One of the three modules in the compulsory master course Knowledge Representation is an introduction to Bayesian networks. For the 2022 iteration of this course, I got the opportunity to take over this module from Erman Acar. It was great fun to, for the first time, be responsible for the content of a whole module. Especially, building my own story around the content was a challenging but insightful task.

In the first lecture, I introduce the students to beliefs, their dynamics, and foundational properties of probability. With classical examples, I motivate the notion of independence and also formalize it. Lastly, I presented some basic tools for inference on Bayesian networks.

The second lecture is dedicated to a basic introduction to directed acyclic graphs, independence in graphs, a formal definition of Bayesian networks, and d-separation.

Before tackling more interesting inferences in Bayesian networks, I introduced more tools that are useful for that end. I introduce factors as a convenient object for various inference algorithms, talk about variable elimination, the importance of good elimination orderings, and graph pruning.

In the concluding lecture, I treated more interesting queries for Bayesian networks: Posterior marginals, maximum a-posteriori queries, and most probable explanations.