After completion of the course the students should be able to:
- understand the mathematical principles of state-of-the-art machine learning methods
- apply and evaluate the performance of state-of-the-art machine learning techniques on real problems
- prepare data to optimize the execution of machine learning algorithms
- write programs that build predictive models from training data
- evaluate predictive models and compare different predictive models against each other
- diagnose and address common issues with predictive models (e.g. overfitting, underfitting, bias)
- optimize models using data-driven techniques
- understand open problems and current developments in machine learning
Machine learning is the science of making computers act without being explicitly programmed. Instead, algorithms are used to find patterns in data. It is so pervasive today that you probably use it dozens of times a day without knowing it, for instance in web search, speech recognition, and (soon) self-driving cars. It is also a crucial component of data-driven industry (Big Data), scientific discovery, and modern healthcare.|
In this course, you'll learn the key concepts behind state-of-the-art machine learning algorithms as well as their mathematical formulations and solving techniques. Moreover, you will gain hands-on experience in applying them on real-world problems, build predictive models, and learn how to empirically validate and optimize these models. These algorithms include linear models, ensembling techniques (e.g. random forests, gradient boosting, stacking), Bayesian learning, support vector machines, and neural networks.
You will learn how each technique represents models and how they are fitted to the data. We will also discuss the relationships between these techniques and their individual benefits and drawbacks. Particular attention is paid to the proper analysis of model performance (e.g. under- and overfitting, bias-variance analysis, ROC analysis) and to the efficient optimization of predictive models (model selection, optimization, meta-learning).
This course requires both a decent mathematical background as well as programming experience. It is highly recommended to have a working knowledge of algebra and statistics. Programming is part of the assignments, hence programming experience is highly recommended as well. The assignments and the programming examples in the course will be based on Python.
Type of instructions
Lectures, Q&A sessions, interactive discussions
- Selected book chapters, survey and research articles (available online freely or through the university subscription).