example networks from BN Repository

Course description

Probabilistic graphical models provide a powerful way to learn, represent, and reason with uncertain relationships in complex systems. For example, they have been used in diagnosis of people and computers based on relationships among symptoms; in recognition of speech and images based on relationships among lower-level features; and in discovery of cellular mechanisms based on relationships among genes. The course will cover techniques including modeling, learning, and inference, and explore a range of applications.

Prereqs: machine learning (CS 74/174)

Administrative info

Chris Bailey-Kellogg | 250 Sudikoff | office hours: by appointment
Class meetings
2A | TuTh 2:00-3:50 | 115 Wilder
Koller and Friedman, Probabilistic Graphical Models: Principles and Techniques [book website].
We'll also do some reading from the primary literature, particularly for applications.
Other resources
We'll use Canvas for announcements, follow-up materials (via a wiki), and submission of presentation and project materials. Submit your initial preferences for presentation topics on Canvas (via the survey) ASAP.


We will explore probabilistic graphical models by way of the textbook by Koller & Friedman, along with applications papers. It will be seminar style, by which I mean that it's not just me lecturing, but rather you digesting and presenting the material. Typically this would be done by reading primary literature, but there happens to be a really nice text already compiled, so we'll focus on that for most of the term. Toward the end of the term we'll explore various applications and additional cutting-edge techniques. While it depends on enrollment, my plan is to have each student do one presentation of each type. Discussion in class will be key to getting the most from both textbook and application presentations.

In addition to presentations and discussion, the seminar will culminate in final projects offering the opportunity to dive more deeply into topics of interest.

Textbook presentation (20%)

Things are laid out pretty well in the book, but put your own angle on it. Why is this technique important? What's the key idea? Work through the approach, giving examples and going through the core theory/methods while leaving lower-level details to the reading. Then summarize the take-aways and contemplate where this could go next (in both extension and application).

Feel free to use whatever combination of computer-based presentation plus whiteboard works best. In particular, examples are often better at the whiteboard, but that can be harder, so strike a balance that you're comfortable with.

Give me an outline at least two days in advance, so we can agree upon the overall structure and what to highlight and dwell on vs. what to leave out.

Paper presentation (20%)
Critically present the material in and underlying the reading, addressing the following:
  • The core problem and its context, including why other methods (computational and/or experimental) are insufficient.
  • The approach, including how the computational methodology captures and helps address the problem.
  • The validation of the approach, including how it is demonstrated to improve the state of the art.
  • Strengths and weaknesses of the approach and the paper, and possible next steps.

Help everyone get the big picture and background, and then provide your insights into the contribution. Try to engage everyone else in a discussion (see class participation below). Follow general advice on how to give a good talk (e.g., by Bruce Donald, Hany Farid, and Simon Peyton-Jones).

Upload your presentation on Canvas so that I can post it on the course website.

Talk to me at least a week in advance of your presentation, so we can agree upon a paper. You can provide general ideas or specific papers, I'll have some, and we can also solicit the class for their thoughts.

Participation (20%)
Don't leave the presenter dangling up there! Read the chapter and/or paper(s) thoroughly before class, so that you also can have critical insights into the material. Give your perspectives, ask and respond to questions, raise additional points, etc.
Project (40%)
Do an in-depth exploration of a relevant topic, worthy of (about) half the grade for the course. The project may be done individually or in a group (recommended), and may include a project- & student-appropriate mixture of research, implementation, and application. A project proposal and a project update will ensure that we are on the same page as to the project's suitability; a project presentation will make for a fun class-wide exchange; a project report will document what was done and what was learned.

Honor code

Dartmouth's honor code applies to this course, and academic misconduct policies will be strictly enforced. If you have questions, ask!

As this is a seminar course, you are encouraged and expected to discuss the material with others. You are also encouraged to work in teams for the project. So the only real pitfalls are attribution: the work you present as your own must in fact be your own. You must create your own presentation slides, though you may incorporate others' images and text, with citation. This is true even for the textbook material — no fair just giving Koller's talk; make up your own presentation of the material from your own perspective. And in your project, while you certainly may use and build upon others' code, you must clearly indicate what part is your contribution.


Students with disabilities enrolled in this course and who may need disability-related classroom accommodations are encouraged to make an appointment to see the instructor before the end of the second week of the term. All discussions will remain confidential, although the Student Accessibility Services office may be consulted to discuss appropriate implementation of any accommodation requested.