Course: Practical Machine Learning

This lecture is designed and taught by Sven Mayer (LMU Munich). The tutorials and exercises are created by Jesse Grootjen (LMU Munich) and Maximiliane Windl (LMU Munich).

The goal of this course is to teach the theoretical and practical skills needed to build novel intelligent user interfaces. In detail, the course teaches the fundamental steps of training, deploying, and testing novel intelligent user interfaces using machine learning (ML). Here, we will focus on neuronal networks while using traditional machine learning approaches (e.g., SVN, Random Forest) only as a baseline. During the course, students will learn how to collect data, train ML models, and evaluate the new models based on the extended User-Centered Design process for deep learning.

Over the course of the semester, students will build novel interfaces and present intermediate milestones throughout the tutorials. One group project (in groups up to four) has to be presented during the final presentation sessions. Before developing a new novel interface, the tutorials will also be used to learn the lecture topics' practical side using hands-on exercises. Here, students will learn how to train, deploy, and validate models based on a set of showcase examples.

In summary, this lecture is a practical oriented course that teaches the theoretical and practical skills to train neuronal networks to build intelligent user interfaces from scratch.

Lecture 01: Introduction

Lecture Recording [MP4]

Lecture Slides Organization [Powerpoint PPTX], Organization[PDF], Introduction [Powerpoint PPTX], Introduction [PDF]

Lecture 02: Supervised vs. Unsupervised Learning

Unsupervised and Supervised Learning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Unsupervised Learning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Supervised Learning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Lecture 03: Full Practical Neural NetworkWalkthrough

Lecture Recording Part 1 - Data Preprocessing [MP4] Part 2 - Training a Neural Network [MP4]

Jupyter Notebook [ipynb], [HTML]

Lecture 04: Introduction Neural Networks

Neural Network Structure

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Feature Engineering & Representation Learning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Lecture 05: Advanced Neural Networks

Additional Layers

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Optimizer and Hyperparameter

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Lecture 06: Evaluating Neural Networks

Over- and Underfitting

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Training-Validation-Test Split

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Evaluation Metrics

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Lecture 07: Training Strategies

Hyperparameter Tuning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Pre-Trained Models

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Lecture 08: Recurrent Neural Network and Long Short-Term Memory

Recurrent Neural Network and Long Short-Term Memory

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Jupyter Notebook [ipynb], [HTML]

Lecture 09: Generative Adversarial Network

Generative Adversarial Network

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]

Lecture 10: Reinforcement Learning

Reinforcement Learning

Lecture Recording [MP4]

Lecture Slides [Powerpoint PPTX], [PDF]