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
| # | Topic | Material | Lab |
|---|---|---|---|
| 0 | Introduction and logistics | Slides | |
| 1 | Machine learning landscape | Slides | |
| 2 | Classification | Notes | |
| 3 | Classification | Notes | |
| 4 | Classification | Notes | Lab 1 (.ipynb file) |
| 5 | Regression | ||
| 6 | Regression | ||
| 7 | Regression | Notes | Lab 2 (.ipynb file) |
| 8 | Optimization | Lab 3a (.ipynb file) | |
| 9 | Optimization | Notes | Lab 3b (.ipynb file) |
| 10 | PAC learning framework | Notes | |
| 11 | PAC learning framework | ||
| 12 | Kernel methods | Notes | Lab 4 (.ipynb file) |
| 13 | Gaussian Processes | Notes | Lab 5 (.ipynb file) |
| 14 | SVMs | Notes | Lab 6 (.ipynb file) |
| 15 | PCA and CCA | Notes | Lab |
| 16 | Clustering | ||
| 17 | Clustering | Notes | Lab |
| 18 | EM method | Notes | Project |
| 19 | Multilayer perceptron | ||
| 20 | Training multilayer perceptrons | Slides | Lab |
| 21 | CNNs | Slides | Lab |
| 22 | RNNs | Slides | Lab 9 |
| 23 | Autoencoders and GANs | Slides | Lab |
| 24 | Graph neural networks | Slides |