Optimisation et Apprentissage Statistique

Francis Bach

INRIA - Ecole Normale Supérieure

Master M2 Mathématiques de l'aléatoire

(Université Paris-Sud), 2eme semestre, 2020/2021
 


Inscription

The class will be taught in French or English, depending on attendance (all slides and class notes are in English).



Résumé

De nombreux problèmes d'estimation en apprentissage statistique sont formulés comme des problèmes d'optimisation. Ces formulations ont permis une separation entre l'analyse des performances de l'estimateur et le développement d'algorithmes de résolution du problème. Face aux grands volumes de données, une telle séparation n'est plus efficace et l'analyse doit mêler statistique et optimisation. Dans ce cours, seront présentés de manière unifiée les résultats statistiques classiques sur la M-estimation et l'optimisation convexe, en montrant les liens entre statistique et optimisation. Un accent sera mis sur l'analyse non-asymptotique de l'approximation stochastique et du gradient stochastique.

Attention, le but de ce cours est de comprendre comment s'analysent les algorithmes et sera donc fortenent axe sur les preuves.



R
éférences

Transparents (Preliminary version, will be updated before every class)

S. Bubeck. Convex optimization: Algorithms and complexity. Foundations and Trends in Machine Learning, 8(3-4):231–357, 2015.

Y. Nesterov. Introductory lectures on convex optimization: a basic course. Kluwer Academic Publishers, 2004.



Dates et contenu des cours


Les cours ont lieu habituellement au département de Mathématiques de l'Université Paris-Sud (Orsay, nouveau batiment du departement de mathematiques, salle
1A13, le Lundi de 14h à 17h). Dans le contexte actuel, ils seront donnés en ligne, avec un lien "gotomeeting" envoye le matin.

La presence en cours pour 4 cours sur 6 est obligatoire (avec video si possible). Il y aura un examen ecrit.

Dates Sujets du cours Notes de cours de l'annee 2015/2016
Lundi 18/01 de 14h à 17h Introduction au probleme generique d'apprentissage
Classes de fonctions (convexes, lisses, fortement convexes)
Analyse statistique par complexite de Rademacher
 
lecture1.pdf
lien gotomeeting
Lundi 01/02 de 14h à 17h

Analyse des algorithmes deterministes d'optimisation (descente de gradient, Newton, etc.) lecture2.pdf
lien gotomeeting
Lundi 08/02 de 14h30 à 17h30

Approximation stochastique pour problemes convexes non-lisses lecture4.pdf
lien gotomeeting
Lundi 15/02 de 14h à 17h
Approximation stochastique classique (analyse asymptotique) lecture3.pdf
lien gotomeeting
Lundi 01/03 de 14h à 17h
Approximation stochastique pour problemes convexes lisses
lien gotomeeting
Lundi 08/03 de 14h à 17h
Minimisation de sommes finies
Lundi 29/03 de 14h à 17h Examen ecrit Will be done at home




Assignments

The goal of these assignments is to implement the main algorithms seen in class, with any language of your choice (Python, Matlab or R are advised). Every assignment will be a few lines of code run on small-scale data. The only required outputs for each homework are a few (readable) curves and comments, to be sent as a single pdf file by email to 
fbachorsay2017@gmail.com with the subject [HWn], with n being the homework number (no acknowledgements will be sent back).

In case of any problems with loading the data, please contact the lecturer.

Homework 1 (Batch algorithms), due (01/03)
The file data_orsay_2017.mat (matlab format, readable from Matlab and Python) contains training data and testing data for a binary classification problem with d=100, n=10 000 training observations, and n=100 000 testing observations. For the two loss functions (square, logistic), and two numbers of training observations (10 000 and 1000), plot training and testing errors (on the same plot) as a function of the number of iterations of gradient descent with constant step-size.

This makes a total of 4 plots (2 loss functions x 2 numbers of observartions), to be put in a single pdf file, with two sentences (max) of comments for each plot.
Homework 2 (Nonsmooth stochastic algorithms), due (29/03) With the same data, and the full training data (10 000 observations), we consider logistic regression, and three plots for stochastic gradient descent, all with 20 passes over the data. For all 4 plots, compare averaged testing logistic losses (as a function of the number of iterations). Advice: only compute testing losses every 100 iterations.
(a) No averaging vs. averaging: compare averaged SGD and plain SGD with step-sizes decreasing as 1/sqrt(n). Single plot + one sentence comment.
(b) Strongly-convex vs. convex (averaged SGD): consider adding mu/2 times the squared norm to the objective (do not forget to add it to the gradient and the testing objective as well). Compare the step size in 1/(mu n) and the step size in 1/sqrt(n). For mu = 1e-1 and 1e-5. Two plots overall + two sentences of comments.
(c) cycling vs. sampling with replacement: compare running SGD with multiple passes on the training data, comparing cycling with sampling with replacement. Single plot + one sentence comment.
Homework 3 (Smooth stochastic algorithms+finite data sets), due (12/04) We consider the same data, for logistic regression and least-squares regression with regularization by mu times the squared Euclidean norm (with mu=1e-1 and mu=1e-5). Compare constant-step-size stochastic gradient (sampling with replacement with 50 passes) and SAG.
This makes overall: 2 (two lossess) x 2 (two mus) x 2 (two algorithms) = 8 plots








Validation


Le cours sera valide par (1) des implementations tres simples en Matlab/R/Python et (2) un examen ecrit (a la maison et en temps limité).

La presence
en cours pour 4 cours sur 6 est obligatoire.

In order to obtain a grade for this class, students have to (1) do simple implementations in 
Matlab/R/Python, and (2) pass a written exam.