Introduction to Machine Learning (2019 - 2020)



Statistical machine learning is a growing discipline at the intersection of computer science and applied mathematics (probability / statistics, optimization, etc.) and which increasingly plays an important role in technological innovation.

Unlike a course on traditional statistics, statistical machine learning is particularly focused on the analysis of data in high dimension, as well as the efficiency of algorithms to process the large amount of data encountered in multiple application areas such as image or sound analysis, natural language processing, bioinformatics or finance.

The objective of this class is to present the main theories and algorithms in statistical machine learning. The methods covered will rely amongst others on convex analysis arguments. The practical sessions (more than half of which will be realized with computers) will lead to simple implementations of the algorithms seen in class and with applications to various domains such as computer vision or natural language processing.

Prerequisite: probability theory (notion of random variables, convergence of random variables, conditional expectation), coding skills in python.

General information

This class is part of the Computer science courses taught at ENS in L3 in Spring 2019-2020.

Teachers: Pierre Gaillard and Alessandro Rudi.
Practical sessions: Raphaël Berthier.

The class will last 52 hours (30 hours of class + 22 hours of practical sessions) and can be validated for 12 ECTS.
Final rade: approximately 50% final exam, 50% homework.

Previous years: Fall 2019, Fall 2018, 2017, 2016, 2015, 2014, 2013, 2012

Schedule and lecture notes

Thursday mornings from 8h30 to 12h30 in room UV. Typical session will be a lecture from 8h30 to 10h20, followed by a 20min break and the practical work (PW) from 10h40 to 12h30. Bring your personal laptops in practical sessions! Lecture notes and solutions to practical work and exercises will be updated here on the fly.

Home assignment 1: (Download here). It is due by April 22, 2020. It is to be returned by email to as a pdf report of maximum 3 pages together with the ipython notebook used for the code. The results and the figures must be included into the pdf report but not the code.

Home assignment 2: (Download here). It is due by May 20, 2020. It is to be returned by email to as a pdf report of maximum 3 pages together with the ipython notebook used for the code.

# Date Teacher Title
1 06/02/2020 P. Gaillard
2 13/02/2020 P. Gaillard
R. Berthier
Supervised learning and linear regression
TD1 (Data: classificationA_train, classificationA_test, classificationB_train, classificationB_test, classificationC_train, classificationC_test, mnist_digits.mat), solution
20/02/2020 Vacation
3 27/02/2020 P. Gaillard
R. Berthier
Unsupervised Learning
4 05/03/2020
No Class
5 12/03/2020
6 19/03/2020 A. Rudi
R. Berthier
Logistic regression and convex analysis
TD3, solution
7 26/03/2020 A. Rudi
R. Berthier
Convex optimization
TD4, solution to theoretical questions, solution to practical questions
8 02/04/2020 P. Gaillard
R. Berthier
High dimensional statistics (Lasso)
Practical session on SGD: TD5, data, solution
09/04/2020 Vacation
16/04/2020 Vacation
9 23/04/2020 A. Rudi
R. Berthier
Exercise sheet, solution
10 30/04/2020 A. Rudi
R. Berthier
Elements of Statistical Machine Learning
Numerical tour of Ridge and Lasso by Gabriel Peyre
11 07/05/2020 A. Rudi
R. Berthier
Local methods
Probabilistic modeling and maximum likelihood estimation, solution to the exercises
12 14/05/2020 A. Rudi
R. Berthier
Neural networks
TP Neural Nets - solution
Ascension (no class)
13 28/05/2020 P. Gaillard Exam