Machine Learning CS-433

This course is offered jointly by the TML and MLO groups. Previous year’s website: ML 2020.
See here for the ML4Science projects.

Contact us: Use the discussion forum, or some of the contact details below:

Instructor Nicolas Flammarion Instructor Martin Jaggi
Office INJ 336 Office INJ 341
Email [email protected] Email [email protected]
Office Hours By appointment Office Hours By appointment
Teaching Assistants
  • Maksym Andriushchenko
  • El Mahdi Chayti
  • Lie He
  • Anastasiia Koloskova
  • Tao Lin
  • Amirkeivan Mohtashami
  • Ehsan Pajouheshgar
  • Scott Pesme
  • Thijs Vogels
  • Tianzong Zhang
Student Assistants
  • Raphaël Attias
  • Axel Dinh Van Chi
  • Karim Hadidane
  • Xiaowen Jiang
  • Ella Rajaonson
  • Ekrem Yilmazer
  • Yingxue Yu
  • Oguz Yuskel
Lectures Tuesday 17:15 – 19:00 in Rolex Learning Center
  Thursday 16:15 – 18:00 in SG1
Exercises Thursday 14:15 – 16:00

Rooms: INF119INF2INJ218INM202INR219 or zoom (assignment link on moodle)

Language:   English
Credits :   7 ECTS

For a summary of the logistics of this course, see the course info sheet here (PDF).
(and also here is a link to official coursebook information).

Special Announcements

  • The links for the exercises signup and the discussion forum password are on moodle. All other materials are here on this page and github.
  • Projects: There will be two group projects during the course.
    • Project 1 counts 10% and is due Nov 1st.
    • Project 2 counts 30% and is due Dec 23th.
  • The videos of the lectures for each week, new exercise sheet, as well as the solutions for the previous week will be made available each Tuesday. Labs and projects will be in Python. See Lab 1 to get started.
  • Code Repository for Labs, Projects, Lecture notes: github.com/epfml/ML_course
  • the exam is closed book but you are allowed one crib sheet (A4 size paper, both sides can be used), either handwritten or 11 point minimum font size; bring a pen and white eraser; you find the exams from the past years with solutions here:

Detailed Schedule

Annotated lecture notes from each class are made available on github here, and videos here on youtube.

Date Topics Covered Lectures Exercises Projects
21/9 Introduction, Linear Regression 01a,01b
01c,01d
   
23/9 Cost functions   Lab 1  
28/9 Optimization 02a    
30/9 Optimization   Lab 2 Project 1 start
05/10 Least Squares, Overfitting 03a,03b    
07/10 Max Likelihood, Ridge Regression, Lasso 03c,03d Lab 3  
12/10 Generalization, Model Selection, and Validation 04a    
14/10 Bias-Variance decomposition 04b Lab 4  
19/10 Classification 05a    
21/10 Logistic Regression   Lab 5  
26/10 Generalized Linear Models      
28/10 K-Nearest Neighbor   Lab 6  
02/11 Support Vector Machines     Proj. 1 due 1.11.
04/11 Kernel Regression   Lab 7  
09/11 Neural Networks – Basics, Representation Power     Project 2 start
11/11 Neural Networks – Backpropagation, Activation Functions   Lab 8  
16/11 Neural Networks – CNN, Regularization, Data Augmentation, Dropout      
18/11 Adversarial ML   Lab 9  
23/11 Adversarial ML      
25/11 Unsupervised Learning, K-Means   Lab 10  
30/11 Gaussian Mixture Models      
02/12 EM algorithm   Lab 11  
07/12 Generative adversarial networks      
09/12 SVD and PCA   Lab 12 & Project Q&A  
14/12 Matrix Factorizations      
16/12 Text Representation Learning   Lab 13  
21/12 Guest Lecture      
23/12 Projects     Proj. 2 due 23.12.

Textbooks

(not mandatory)

Gilbert Strang, Linear Algebra and Learning from Data
Christopher Bishop, Pattern Recognition and Machine Learning
Shai Shalev-Shwartz, Shai Ben-David, Understanding Machine Learning
Michael Nielsen, Neural Networks and Deep Learning

Projects & ML4Science

Final projects last year are done either in ML4Science in collaboration with any lab of EPFL, UniL or other academic institution, or the Reproducibility Challenge for ML papers, or one of the predefined ML challenges.

All info about the interdisciplinary ML4Science projects is available on the separate page here.