Probabilistic Machine Learning (PML)
Course content
Uncertainty is a central concept in many areas of Science and Society, yet it is often neglected in Machine Learning. This course demonstrates how the probabilistic framework gives us a powerful language to describe uncertainties about both models and predictions. We will cover a range of different probabilistic modelling techniques, and demonstrate the impact of uncertainty quantification on real-world data. Finally, we will demonstrate how model design and inference can be cleanly separated using modern probabilistic programming languages, making it possible to express complex models in a modular and concise form.
This is an advanced topics course, and the exact list of topics will therefore change from year to year, depending on current trends in the literature. Examples of topics include:
- Fundamental concepts. What is a probability? Frequentist vs Bayesian perspectives.
- Inference techniques: Markov chain Monte Carlo, Variational Inference, and advanced methods
- Uncertainty quantification and probability calibration
- Latent variable models: Mixtures, Deep latent variable models
- Graphical models
- Gaussian Processes, Bayesian optimization
- Flow models
- Denoising diffusion models
- Bayesian decision theory
- Probabilistic Programming fundamentals
- Probabilistic Programming Language design
WARNING:
If you have not taken DIKU's Machine Learning A course, please,
carefully check the "Recommended Academic Qualifications"
box below. Machine Learning courses given at other places do not
necessarily prepare you well for this course, because DIKU's
machine learning courses have a stronger theoretical component than
average machine learning courses offered elsewhere. It
is not advised to take the course if you do not meet the academic
qualifications.
After completing the course, the student will have:
Knowledge of
- fundamental concepts in probabilistic machine learning
- the trade-offs between different inference techniques
- common probabilistic models
- fundamental concepts in probabilistic programming
Skills in
- implementing different probabilistic models, with and without the use of a probabilistic programming language.
- quantifying and calibrating uncertanties
- assessing model quality (including convergence criteria and
appropriateness of variational distributions)
Competences in
- analyzing problems and formulating appropriate probabilistic models
- identifying strengths and weaknesses of different models and modelling approaches
- solving modelling projects in collaboration with others
Lectures and exercises
See Absalon when the course is set up.
The course requires a strong mathematical background. It is
suitable for computer science master students, as well as students
from mathematics (statistics, actuarial math, math-economics, etc)
and physics study programmes. Students from other study programmes
can verify if they have sufficient math and programming skills by
solving the self-preparation assignment (below) and if in doubt
contact the course organiser.
It is assumed that the students have successfully passed Machine
Learning A (MLA) offered by the Department of Computer Science
(DIKU). Students who has not taken this course are recommended to
go through the self-preparation material and solve the
self-preparation assignment provided at
https://sites.google.com/diku.edu/machine-learning-courses/pml
before the course starts. For students with a strong mathematical
background and some background in machine learning it should be
possible to do the self-preparation within a couple of weeks. It is
strongly advised not to take the course if you do not meet the
prerequisites.
This course builds extensively on Gaussian models and manipulation
of Gaussian densities. Students unfamiliar with such material are
encouraged to take the course “Models for Complex Systems”, which
gives a thorough introduction to such models.
The working language of the course is Python. All our examples and
help are provided in Python and it is recommended to be familiar
with Python before starting the course.
As
an exchange, guest and credit student - click here!
Continuing Education - click here!
PhD’s can register for MSc-course by following the same procedure as credit-students, see link above.
- ECTS
- 7,5 ECTS
- Type of assessment
-
Written assignment, during course
- Type of assessment details
- A group project (written assignment), corresponding at 20 hours, developed during the course and documented with a report wherein the individual contributions are stated.
- Exam registration requirements
-
A prerequisite for taking the exam is the submission and approval of all but one of the 3 assignments. The submission dates for these assignments will be announced at the start of the course.
- Aid
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
- Re-exam
-
Qualification for the re-examination is obtained by resubmission and approval of all but one of the 3 assignments no later than 3 weeks before the re-examination.
The re-exam consists of a 15-minute individual oral examinaion with no preparation time, based on the resubmission of the (possibly revised) final project and full syllabus. The revised project must be handed in no later than Wednesday before the re-examination week.
Criteria for exam assessment
See Learning Outcome
Single subject courses (day)
- Category
- Hours
- Lectures
- 28
- Preparation
- 137
- Theory exercises
- 21
- Exam
- 20
- English
- 206
Kursusinformation
- Language
- English
- Course number
- NDAK21004U
- ECTS
- 7,5 ECTS
- Programme level
- Full Degree Master
- Duration
-
1 block
- Placement
- Block 2
- Schedulegroup
-
A
- Capacity
- No limitation – unless you register in the late-registration period (BSc and MSc) or as a credit or single subject student.
- Studyboard
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Contracting faculty
- Faculty of Science
Course Coordinator
- Wouter Boomsma (2-846f4d71763b78823b7178)
Er du BA- eller KA-studerende?
Kursusinformation for indskrevne studerende