Materials Courses Software Engineering Contact 🇩🇪 🇬🇧

Machine Learning Fundamentals

This course covers the academic foundations of Machine Learning. It starts with the basics of Linear Regression – a method that often turns out to be not so basic already – and ends with Artificial Neural Networks up to LLMs. The course places an emphasis on tools to train models consistently and their critical evaluation. It covers more evaluation metrics than actual models and goes through a variety of regularization techniques.

Goals

During the course, you will become familiar with the standard Python Machine Learning stack including the libraries scikit-learn, statsmodels, TensorFlow and PyTorch. You will also use NumPy, polars and seaborn to visualize data. Basic knowledge of Python is highly recommended.

You will spend quite some time training and fine-tuning models and – what is more important – critically evaluating them. In the end, you should have a solid technical and mathematical foundation of the most common modeling tools and challenges that you can apply on your own data.

Topics

Part 1: What is Machine Learning?

Supervised versus Unsupervised Learning
Classification and Regression
Practical Use Cases
Why Machine Learning is difficult

Part 2: Supervised Learning

Decision Trees
Linear Models
Model Evaluation
Feature Engineering
Regularization

Part 3: Unsupervised Learning

Principal Component Analysis
Clustering
Recommender Systems

Part 4: Artificial Neural Networks

Feed-Forward Networks
Image recognition
Training strategies
Natural Language Processing

Part 5: Large Language Models

Transformer architecture
RAGs, MCPs and agents
Practical and regulatory considerations
Current limitations of LLMs

How the course works

The course consists of a smaller theoretical part and plenty of exerrcises. During the exercises, you will implement a Python application step by step, incorporating key concepts from the theoretical parts. There will be some extra problems that come your way that you need to solve as a team.

The course material contains background reading and code examples that you can use to deepen your knowledge after the course. During classes, you get support with technical questions. We will also go through sample solutions together. The course materials are permanently available on under a Creative Commons 4.0 License.

Prerequisites

To participate in the course, fluency in Python is useful but not strictly required. You should be able to write simple instructions and debug smaller pieces of Python code. To work on the exercises and try out the examples, you need to be able to execute code in a Jupyter Notebook. Writing clean code and keeping Jupyter Notebooks tidy matters and is more important than knowing lots of Python.

Pre-Register

Please use the form to signal interest in a course. I will get in touch with you to figure out dates and pricing.