← All courses E2 236 · 3:1 credits

Foundations of Machine Learning

Offered in 2026

About the course

The main objective of E2 236 is to provide an introduction to the theory, methods, and concepts essential for developing programs that learn from data. As a graduate-level course, it is designed to establish a rigorous foundation in the underlying mathematics and algorithms of machine learning. We will cover a wide number of techniques, from the simplest (linear regression) to advanced deep learning techniques, alongside theoretical concepts such as the PAC learning framework.

This is 3:1 credit course.

Prerequisites

Basic linear algebra, probability, and knowledge of Python.

Syllabus

Machine learning landscape, classification, regression, optimization, PAC learning framework, kernel methods, Gaussian processes, SVM, clustering, EM methods, Ensemble learning, neural networks, graph machine learning.

Textbooks

  • Christopher Bishop, Pattern Recognition and Machine Learning
  • Christopher Bishop and Hugh Bishop, Deep Learning: Foundations and Concepts
  • Kevin Murphy, Machine Learning: A Probabilistic Perspective
  • Shai Shalev-Shwartz, Shai Ben-David, Understanding Machine Learning: From Theory to Algorithms
  • Aurelien Geron, Hands-On Machine Learning with Scikit-Learn and PyTorch: Concepts, Tools, and Techniques to Build Intelligent Systems

Course requirements and grading

  • Mid-term exam: 25%
  • Surprise tests (note the attendance policy): 5%
  • Project: 20%
  • Final assessment: 50%

Lecture schedule

Course plan (PDF)

#TopicMaterialLab
0Introduction and logisticsSlides
1Machine learning landscapeSlides
2ClassificationNotes
3ClassificationNotes
4ClassificationNotesLab 1 (.ipynb file)
5Regression
6Regression
7RegressionNotesLab 2 (.ipynb file)
8OptimizationLab 3a (.ipynb file)
9OptimizationNotesLab 3b (.ipynb file)
10PAC learning frameworkNotes
11PAC learning framework
12Kernel methodsNotesLab 4 (.ipynb file)
13Gaussian ProcessesNotesLab 5 (.ipynb file)
14SVMsNotesLab 6 (.ipynb file)
15PCA and CCANotesLab
16Clustering
17ClusteringNotesLab
18EM methodNotesProject
19Multilayer perceptron
20Training multilayer perceptronsSlidesLab
21CNNsSlidesLab
22RNNsSlidesLab 9
23Autoencoders and GANsSlidesLab
24Graph neural networksSlides