- All lecture and practice session materials are available in Github
- Some of them may be in incomplete state. I will let you know which materials are stable
What is this course about
The course gives an overview of most common machine learning methods and explains related theoretical concepts from statistics and numeric methods. In particular, we discuss how machine learning should be used so that obtained results are meaningful and interpretable. For that we need to discuss some essential aspects of Monte-Carlo integration and its connection to various validation methods. In order to understand why some methods perform so well in training but poorly in practice afterwards, we cover the bias-variance problem and show how statistical learning theory can be used in this context. The remaining of the course is dedicated to various machine learning methods. The course is organised into four main blocks.
- Alternative probabilistic view on standard methods
- Performance evaluation measures
- Rudiments of Statistical Learning Theory
- Linear models and polynomial interpolation
- Linear classification methods
- Model-Based Reasoning in Machine Learning
- Basics of probabilistic modelling
- Maximum likelihood and maximum a posteriori estimates
- Model-based clustering techniques
- Expectation-maximisation and data augmentation algorithm
- Factor analysis: PCA, LDA and ICA
- Techniques for filtering and smoothing
- Standard sequence models: Markov Chains and Hidden Markov Models
- Particle filters as Monte-Carlo approximation to integration problems
- Standard grid models: Random Markov Fields and Conditional Random Fields
- Ensemble Methods as Monte-Carlo integration over posterior
How to pass this course
To pass the course, a student has to participate in most lectures and exercise sessions, solve sufficient amount of home exercises and do a small course project. There will be one lecture and exercise session in each week. A student will not pass the course if he or she is absent from more than 4 lectures.
Exercise session will be held in pair. Each pair corresponds to a particular topic. The homeworks will be given out in each exercise session. The number points in exercises is larger than maximal number of points you can get:
- Nominal score for each exercise session is 5 points
- Maximal score for each exercise session is 7.5 points
The homeworks will be collected after each exercise session pair. After the exercise session pair has ended you have exactly week to submit exercises. The formal deadline is the start of the next exercise session on a new topic.
The solution to the homework is a re-runnable Jupyter notebook that contains the code graphs and text describing what you did and how to interpret results. Each notebook must contain the name of the author and the subtopic in the title. You can pack some local Python modules as .py files provided that the code will run if unpacked into a single directory.
Homework points will be normalized by the total number of homeworks. Additionally, it is possible to get 35 points by doing an additional course project. This involves a more complex task and you have to write a 6-10 page project report.
- raw.score = sum.of.homeworks + sum.of.bonuses + project.score
- normalized.score = raw.score / nominal.score.of.homeworks * 100
After that the standard grading scale is used to compute the grade, e.g 91 and up gives A.
In order to get the grade, the student has to pass the exam. The exam will give no points nor otherwise contribute to the grade. The result of an exam is just a pass-fail decision. As usual you can redo the exam. However, it does not change you grade. If your final score is below 50 you have failed the course.
How plagiarism and cheating is handled
Since your grade depends solely on the homework, we are very strict in these matters.
- If we have a suspicion, then we inform you and allow you to clarify issues.
- If you have cheated or copied your coursemate's work, then you will get no further points.
- As a result, you may fail the course or get a low grade.
- If you feel that you have been unfairly treated then you can contact pro dean.