Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Welcome

This machine learning course is created with Jupyter notebooks that allow you to interact with all the machine learning concepts and algorithms to understand them better. At the same time, you’ll learn how to control these algorithms and use them in practice.

Lectures

Lectures can be viewed online as notebooks, as slides (online or PDF), or as videos (hosted on YouTube). They all have the same content. Upon opening the notebooks, you can launch them in Google Colab (or Binder), or run them locally.

NotebooksSlidesVideo
1IntroductionPDFYoutube
2Linear ModelsPDFYoutube
3Model EvaluationPDFYoutube2
4Ensemble LearningPDFYoutube
5Data EngineeringPDFYoutube
6Neural NetworksPDFYoutube
7Convolutional Neural NetworksPDFYoutube
8Transformers1PDFYoutube
9Finetuning Foundation Models1PDFYoutube

1 These lectures (slides and video recordings) are being updated.
2 The order of the slides in the video is slightly different.

Labs

Download the lab notebooks and solve the questions locally, or launch them in Google Colab or Binder. Please review the relevant tutorials before starting the labs. Solutions will appear towards the end of each lab session.

NotebooksTutorialSolutions
1Linear Models for regression
Linear Models for classification
TutorialLab 1a
Lab 1b (Release date: 4 Feb, 12:00)
2Model EvaluationTutorialLab 2 (Release date: 11 Feb, 12:00)
3Ensembles
Data engineering
TutorialLab 3a
Lab 3b (Release date: 25 Feb, 12:00)
4Neural NetworksTutorialLab 4 (Release date: 4 Mar, 12:00)
5Convolutional Neural Networks/Lab 5 (Release date: 11 Mar, 12:00)
6Transformers1TutorialLab 6 (Release date: 18 Mar, 12:00)
6Finetuning Foundation Models1TutorialLab 7 (Release date: 25 Mar, 12:00)

Background materials

Tutorials

General introductions into using Python for scientific programming and machine learning.

  1. Python basics

  2. Python for data analysis

  3. Machine learning in Python

Extra lectures

Lectures on both basic machine learning techniques (useful for novices to cover any knowledge gaps), as well as additional useful techniques that we couldn’t fit into the schedule.

  1. Decision trees

  2. Nearest Neighbors

  3. Data Preprocessing Basics

  4. Kernelization

  5. Bayesian Learning

  6. Automated Machine Learning

These resources help to further deepen your skills, and are well aligned with this course.

  1. Scientific Python Lectures (by J.R. Johansson)

  2. Mathematics for Machine Learning (by M.P. Deisenroth et al.)

  3. The official PyTorch Tutorial

  4. fast.ai online course on practical deep learning

  5. Google Machine Learning crash course