Official course description, subject to change:
Basic info last published 25/10-19

Probabilistic Programming

Course info
Language:
English
ECTS points:
7.5
Course code:
KSPRPRO1KU
Participants min:
15
Participants max:
15
Offered to guest students:
no
Offered as a single subject:
no
Programme
Level:
MSc. Master
Programme:
Master of Science in Computer Science
Staff
Course manager
Full Professor
Teacher
Postdoc
Course semester
Semester
Forår 2020
Start
27 January 2020
End
31 August 2020
Abbreviation
20201
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
bestået/ikke bestået
Exam Language
GB
Abstract
This course introduces basics of Bayesian statistics, Bayesian data analysis, Bayesian learning, and the programming tools that enable automation of these methods. The course emphasizes programmable statistical methods over pen and pencil analytics.
Description

Bayesian statistics and probabilistic programming are believed to be the proper foundation for development and industrialization of next generation of AI systems.  Bayesian statistics gives a well defined theoretical basis, that is analytically understandable, while probabilistic programming gives an instrument of automation, needed for proper industrialization of the method.

This course introduces basics of Bayesian statistics, Bayesian data analysis, Bayesian learning, Bayesian Hypothesis testing, and the programming tools that enable automation of these methods.  We will cover Bayesian reasoning and diagnosis and build models of concrete examples.  We will learn several sampling methods and apply them to problems at hand.  The course emphasizes programmable statistical methods over pen and pencil analytics.    Every week we solve a programing exercise associated with the topic of the lecture. 

We will study Bayesian Analysis using an established textbook.  For each chapter we will implement examples and exercises of models and analyses using Python's PyMC3 framework - probably the most popular probabilistic library today. Occasionally we will show examples of other probabilistic programming languages to illustrate concepts.

This is a pilot course in a development stage, opened to a small group of students.


Intended learning outcomes

After the course, the student should be able to:

  • Identify applications of Bayesian analysis
  • Formulate Bayesian Models
  • Implement construction of Bayesian Models using a probabilistic programming framework PyMC3 in Python
  • Learn model parameters from data
  • Explain differences between sampling algorithms, select, and use an appropriate inference algorithm
  • Evaluate the models, inference, and learning queries experimentally
  • Test your probabilistic programs
Ordinary exam
Exam type:
C: Submission of written work, external (bestået/ikke bestået)
Exam variation:
CG: Submission of written work for groups.