The course is a general introduction to machine learning (ML) and its applications. It covers fundamental modern topics in ML, and describes the most important theoretical basis and tools necessary to investigate properties of algorithms and justify their usage. It also provides important aspects of the algorithms’ applications, illustrated using real-world problems.

The course starts with an overview of canonical ML applications and problems, learning scenarios, etc. and introduction into theoretical foundations of ML. We present the most novel theoretical tools and concepts trying to be as succinct as possible. Then we discuss in depth fundamental ML algorithms for classification, regression, boosting, etc., their properties as well as their practical applications. The last part of the course is devoted to advanced ML topics such that metric learning, kernel mean embedding of distributions, anomaly detection, reinforcement learning, etc.

Within practical sections, we show how to use the methods above to crack various real-world problems. Home assignments include application of existing algorithms to solve applied industrial problems, development of modifications of ML algorithms, as well as some theoretical exercises.

The students are assumed to be familiar with basic concepts in linear algebra, probability and real analysis.


Course prerequisites are Numerical Linear Algebra and Optimization Methods. Nevertheless, the course is self-contained and can be taken by any student even if none of the courses above have been taken before. We suppose an attendee be fluent with linear algebra, probability and real analysis