Preparing video…

Probabilistic Graphical Models

In this class, you will learn the basics of the PGM representation and how to construct them, using both human knowledge and machine learning techniques.

Preview Lectures


Course at a Glance

About the Course

What are Probabilistic Graphical Models?

Uncertainty is unavoidable in real-world applications: we can almost never predict with certainty what will happen in the future, and even in the present and the past, many important aspects of the world are not observed with certainty. Probability theory gives us the basic foundation to model our beliefs about the different possible states of the world, and to update these beliefs as new evidence is obtained. These beliefs can be combined with individual preferences to help guide our actions, and even in selecting which observations to make. While probability theory has existed since the 17th century, our ability to use it effectively on large problems involving many inter-related variables is fairly recent, and is due largely to the development of a framework known as Probabilistic Graphical Models (PGMs). This framework, which spans methods such as Bayesian networks and Markov random fields, uses ideas from discrete data structures in computer science to efficiently encode and manipulate probability distributions over high-dimensional spaces, often involving hundreds or even many thousands of variables. These methods have been used in an enormous range of application domains, which include: web search, medical and fault diagnosis, image understanding, reconstruction of biological networks, speech recognition, natural language processing, decoding of messages sent over a noisy communication channel, robot navigation, and many more. The PGM framework provides an essential tool for anyone who wants to learn how to reason coherently from limited and noisy observations.

In this class, you will learn the basics of the PGM representation and how to construct them, using both human knowledge and machine learning techniques; you will also learn algorithms for using a PGM to reach conclusions about the world from limited and noisy evidence, and for making good decisions under uncertainty. The class covers both the theoretical underpinnings of the PGM framework and practical skills needed to apply these techniques to new problems.

Course Syllabus

Topics covered include:

  1. The Bayesian network and Markov network representation, including extensions for reasoning over domains that change over time and over domains with a variable number of entities
  2. Reasoning and inference methods, including exact inference (variable elimination, clique trees) and approximate inference (belief propagation message passing, Markov chain Monte Carlo methods)
  3. Learning parameters and structure in PGMs
  4. Using a PGM for decision making under uncertainty.

There will be short weekly review quizzes and programming assignments (Octave/Matlab) focusing on case studies and applications of PGMs to real-world problems:

  1. Credit Scoring and Factors
  2. Modeling Genetic Inheritance and Disease
  3. Markov Networks and Optical Character Recognition (OCR)
  4. Inference: Belief Propagation
  5. Markov Chain Monte Carlo and Image Segmentation
  6. Decision Theory: Arrhythmogenic Right Ventricular Dysplasia
  7. Conditional Random Field Learning for OCR
  8. Structure Learning for Identifying Skeleton Structure
  9. Human Action Recognition with Kinect

To prepare for the class in advance, you may consider reading through the following sections of the textbook (discount code DKPGM12) by Daphne and Nir Friedman:

  1. Introduction and Overview. Chapters 1, 2.1.1 - 2.1.4, 4.2.1.
  2. Bayesian Network Fundamentals. Chapters 3.1 - 3.3.
  3. Markov Network Fundamentals. Chapters 4.1, 4.2.2, 4.3.1, 4.4, 4.6.1.
  4. Structured CPDs. Chapters 5.1 - 5.5.
  5. Template Models. Chapters 6.1 - 6.4.1.

These will be covered in the first two weeks of the online class.

The slides for the whole class can be found here.


  • Will I get a statement of accomplishment after completing this class?

    Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

  • What are the pre-requisites for the class?

    You should be able to program in at least one programming language and have a computer (Windows, Mac or Linux) with internet access (programming assignments will be conducted in Matlab or Octave). It also helps to have some previous exposure to basic concepts in discrete probability theory (independence, conditional independence, and Bayes' rule).

  • What textbook should I buy?

    Although the lectures are designed to be self-contained, students wanting to expand their knowledge beyond what we can cover in a one-quarter class can find a much more extensive coverage of this topic in the book "Probabilistic Graphical Models", by Koller and Friedman, published by MIT Press. MIT Press has generously provided a discount code (DKPGM12)  for students enrolled in this course.

  • How difficult is the class?

    This class does require some abstract thinking and mathematical skills. However, it is designed to require fairly little background, and a motivated student can pick up the background material as the concepts are introduced. We hope that, using our new learning platform, it should be possible for everyone to understand all of the core material.