Probabilistic Programming and Relational Learning

Lecture, four hours; discussion, two hours; outside study, six hours. Introduction to computational models of probability and statistical models of relational data. Study of relational representations such as probabilistic databases, relational graphical models, and Markov logic networks, as well as various probabilistic programming languages. Covers their syntax and semantics, probabilistic inference problems, parameter, and structure learning algorithms, and theoretical properties of representation and inference. Expressive statistical modeling, how to formalize and reason about complex statistical assumptions and encode knowledge in machine learning models. Survey of key applications in natural language processing, graph mining, computer vision, and computational biology. Letter grading.

Review Summary

Clarity
6.7 / 10
Organization
8.3 / 10
Time
5-10 hrs/week
Overall
8.3 / 10

Reviews

    Quarter Taken: Spring 2023 In-Person
    Grade: N/A

    Overall I think CS267A was a very interesting course that introduces one to the entirely novel but useful paradigm of probabilistic programming. The subject is very interesting and it really changed the way I viewed or see how problems in CS can be tackled, using a new approach. At the end of the course you are required to do a group/solo project that takes 50% of the entire grade, and most people I knew really took the opportunity to explore their intellectual interests (NLP, physics, graph learning etc.) using probabilistic programming. The field is mostly completely new to most people taking the class so it’s quite a level playing field, and just requires good understanding of probability to do well.

    I would say the class is mostly a crash course in CS, showing how different fields or problems in CS can be approached using probabilistic programming. That said the pacing can be covered quite fast and can be rather abstract later to the end, and requires a lot of effort to understand. However the TAs and Prof VdB are quite helpful and open to questions and respond well on Piazza.

    A problem however is that sometimes the lectures, being so fastpaced, do not prepare you well to tackle the coding aspects of the homeworks. Especially as sometimes they briefly run through a new probabilistic programming language (ProbLog, WebPPL etc) that you are required to code in for the homeworks, and you basically have to spend a lot of time self studying the specific syntax. I found this difficult, and could not complete parts of the coding assignment on time.

Course

Previously taught
23S

Grading Information

  • Has a group project

  • Attendance not required

  • No midterms

  • No final

  • 100% recommend the textbook

Previous Grades

Grade distributions not available.