Graphical Models, Spring, 2017


Course Number: COMPSCI 688
Instructor: Justin Domke

Course Description: Probabilistic graphical models are an intuitive visual language for describing the structure of joint probability distributions using graphs. They enable the compact representation and manipulation of exponentially large probability distributions, which allows them to efficiently manage the uncertainty and partial observability that commonly occur in real-world problems. As a result, graphical models have become invaluable tools in a wide range of areas from computer vision and sensor networks to natural language processing and computational biology. The aim of this course is to develop the knowledge and skills necessary to effectively design, implement and apply these models to solve real problems. The course will cover (a) Bayesian and Markov networks and their dynamic and relational extensions; (b) exact and approximate inference methods; (c) estimation of both the parameters and structure of graphical models. Although the course is listed as a seminar, it will be taught as a regular lecture course with programming assignments and exams. Students entering the class should have good programming skills and knowledge of algorithms. Undergraduate-level knowledge of probability and statistics is recommended.

Course Textbook: Machine Learning, A Probabilistic Perspective, Kevin Murphy (required) (book website)
Other readings from papers and online resources will be provided.

Lecture Slides:
Course Overview

Prerequisites: I will assume a strong working knowledge of Linear Algebra, Probability theory, programming ability in some language (e.g. Python) and that you have some familiarity with basic machine learning methods.

Should you take this class?: If you are debating if you want to take this class, you can watch this tutorial, which will give you an idea of the instructor's teaching style, and the type of content we will cover. After watching that video, if you think "I would like to learn these things with much more mathematical detail, as well as go into much more advanced topics along the same lines!" Then you might like this course.

Do you want an override?: Please use the online system to request an override to join the course, or to join the waitlist. Please do not directly email the instructor-- this will not help you jump the waitlist (this would be totally unfair to people who simply requested an override in the standard way).