Optimisation pour l'apprentissage automatique

Crédit : 3 ECTS

Volume horaire

  • CM : 24 h
  • Volume horaire global (hors stage) : 24 h

Compétences à acquérir

- Identifier les caractéristiques d'un problème d'optimisation à partir de sa formulation. - Connaître les propriétés théoriques et pratiques des algorithmes d'optimisation les plus courant en apprentissage. - Déterminer et tester l'algorithme le plus approprié pour un problème donné.

Description du contenu de l'enseignement

L'optimisation numérique est un composant fondamental de la science des données, qui se retrouve à la fois en apprentissage statistique (régression linéaire, SVM), mais aussi dans les progrès récents en apprentissage profond en tant que technique d'entraînement de réseaux de neurones. Dans ce cours, on étudiera les fondements mathématiques et algorithmiques de l'optimisation en se concentrant sur les applications en science des données. Ce cours consiste en plusieurs séances accompagnées d'illustrations en Python, notamment via la bibliothèque PyTorch. On commencera par poser les fondements mathématiques de l'optimisation (convexité, conditions d'optimalité), puis on s'intéressera aux algorithmes essentiels en apprentissage tels que le gradient stochastique et ses variantes. On abordera ensuite des problématiques plus avancées à la fois sur le plan théorique (régularisation, problèmes matriciels) et sur le plan algorithmique (différentiation automatique, optimisation distribuée).

Mode de contrôle des connaissances

Examen écrit + Projet.

Pré-requis recommandés

Bases d'algèbre linéaire. Expérience de programmation en Python.

Bibliographie, lectures recommandées

J. Wright and Y. Ma, High-Dimensional Data Analysis with Low-Dimensional Models, 2022.
S. J. Wright and B. Recht. Optimization for Data Analysis, 2022.

Enseignant responsable

CLEMENT ROYER



Année universitaire 2023 - 2024 - Fiche modifiée le : 01-04-2026 (16H03) - Sous réserve de modification.