Machine Learning: Unsupervised Methods

NUMMER: 212501
MODULBEAUFTRAGTE:R: Prof. Dr. Laurenz Wiskott
DOZENT:IN: Prof. Dr. Laurenz Wiskott
FAKULTÄT: Fakultät für Informatik
SPRACHE: Deutsch
CREDITS: 9 CP (6 CP bis SS 22)
ANGEBOTEN IM: jedes Wintersemester


FORM: Semesterbegleitend. Graded presentations and quizzes.
TERMIN: Siehe Prüfungsamt.


This course is given in a hybrid of inverted classroom and problem based learning. The
course starts with a two-week introduction into unsupervised methods of machine learning,
providing an overview. The students then work in groups of about 4 on realistic problems that
can be solved with these methods. In the first week of a problem, they develop hypotheses
and strategies for a solution and identify which methods they want to learn. Then the course
agrees on a method to focus on theoretically, which will then be done in an inverted classroom format. The students then try to solve the problem and present their results in a short talk with slides. Thus the students will not only learn about machine learning but also soft skills.


After the successful completion of this course the students:
∙ know a number of important unsupervised learning methods,
∙ can discuss and decide which of the methods are appropriate for a given data set,
∙ understand the mathematics of these methods,
∙ know how to implement and apply these methods in python,
∙ have gained experience in organizing and working in a team,
∙ know problem solving strategies like brain storming,
∙ can communicate about all this in English.


This course covers a variety of shallow unsupervised methods from machine learning such as
principal component analysis, independent component analysis, vector quantization, clustering,
Bayesian theory and graphical models.


Continuous participation and passed exam.


The mathematical level of the course is mixed but generally
high, including calculus (functions, derivatives, integrals, differential equations, ...), linear
algebra (vectors, matrices, inner product, orthogonal vectors, basis systems, ...), and a bit of
probability theory (probabilities, probability densities, Bayes’ theorem, ...). Programming is
done in Python, thus the students should have a basic knowledge of that as well, or at least
be fluent in another programming language.