Premier semestre

Période : septembre à janvier.
Modalités :
cours obligatoires.

Cours de mathématiques

Apprentissage statistique (3 ECTS)

Responsable : Gérard Biau
Modalités : 30h CM
Objectif : ce cours présente les grands principes de l’apprentissage statistique et les problématiques liées.
Prérequis : notions fondamentales de probabilités et statistique.
Contenu :

  • Introduction au problème de la classification supervisée.
  • Principe de minimisation du risque empirique, théorie de Vapnik-Chervonenkis.
  • Bornes de performance, pertes convexes, sélection de modèle.
  • Classification non paramétrique, théorème de Stone, plus proches voisins, arbres.
  • Classification par réseaux neuronaux.
  • Quantification et clustering.

Introduction à l’apprentissage automatique (3 ECTS)

Responsable : Maxime Sangnier
Modalités : 30h CM
Objectif : ce cours introduit les principales méthodes de prédiction (classification et régression), de partitionnement et de réduction de dimension. Il présente l’apprentissage statistique d’un point de vue algorithmique et sera illustré par des travaux pratiques (en Python) ainsi que par un challenge en science des données.
Prérequis : notions fondamentales de probabilités et statistique, analyse convexe, algèbre linéaire et calcul scientifique en Python.
Contenu :

  • Analyse discriminante, régression logistique, machines à vecteurs supports.
  • k-plus proches voisins, arbres de décision et méthodes ensemblistes (forêts et boosting).
  • Modèle de mélange et algorithme EM, k-moyennes, partitionnement spectral et hiérarchique.
  • Analyse en composantes principales, projections aléatoires et positionnement multidimensionnel.

Méthodes du premier ordre pour l’optimisation non convexe et non lisse (3 ECTS)

Responsable : Pauline Tan
Modalités : 24h CM
Objectif : ce cours explore la vaste théorie de l’optimisation non convexe et non lisse, par le biais des méthodes dites du premier ordre. Une attention particulière sera accordée aux problématiques liées à l’optimisation sur données en grande dimension.
Prérequis : analyse réelle.
Contenu :

  • Fonction à valeurs sur la droite réelle étendue, sous-différentiabilité, condition d’optimalité du premier ordre.
  • Méthodes de gradient (explicite, implicite), opérateur proximal, algorithme du point proximal.
  • Dualité de Lagrange et de Fenchel, conditions de Karush, Kuhn et Tucker.
  • Stratégies d’éclatement : forward-backward splitting, éclatement de Dykstra, méthode de Douglas-Rachford.
  • Optimisation par blocs : minimisations alternées (block coordinate descent), descentes (proximales) alternées.
  • Algorithmes primaux-duaux : méthode des directions alternées, algorithme de Chambolle-Pock.
  • Ouverture : variantes inertielles, pré-conditionnement, distances de Bregman.

Optimisation convexe séquentielle et applications (3 ECTS)

Responsable : O. Wintenberger
Modalités : 30h CM
Objectif : l’objectif de ce cours est d’étudier la convergence de nombreux algorithmes séquentiels, d’abord dans un cadre déterministe puis aléatoire. Il sera démontré que l’apprentissage séquentiel fournit des solutions adaptatives et robustes à de nombreux problèmes d’optimisations convexes, avec ou sans contraintes. La convergence des algorithmes étudiés sera illustrée sous R dans le cadre de la classification des données MNIST.
Prérequis : notions fondamentales de probabilités et statistique, calcul scientifique en Python ou R.
Contenu :

  • Introduction à l’optimisation convexe dans un cadre séquentiel.
  • Projection sur le simplexe, parcimonie.
  • Algorithmes du premier et du second ordre.
  • Régularisation et algorithmes libres de projection.
  • Problème du bandit.
  • Apprentissage dans un cadre stochastique.

Cours d’informatique

Apprentissage automatique avancé et apprentissage profond (6 ECTS)

Responsable : Patrick Gallinari
Modalités : 28h CM, 28h TP
Objectif : ce cours dresse un panorama de l’apprentissage statistique aujourd’hui. Il aborde successivement les grandes problématiques du domaine et en présente les avancées majeures des dix dernières années, en les illustrant sur des grands champs applicatifs : traitement de données textuelles et multimédia, extraction d’information à partir de données collaboratives (médias sociaux), etc.
Prérequis : notions élémentaires d’apprentissage statistique et calcul scientifique en Python.
Contenu :

  • Théorie de l’apprentissage statistique, capacité de généralisation, dilemme biais-variance.
  • Apprentissage Supervisé : Classification, Réseaux de Neurones et Deep Learning, Machines à vecteurs de support, Méthodes à noyaux, Ranking, Problématique du passage à l’échelle.
  • Apprentissage non supervisé : Partitionnement, Modèles à variables latentes.
  • Autre paradigmes d’apprentissage : Apprentissage par renforcement, Apprentissage faiblement supervisé, Apprentissage semi-supervisé et transductif, Apprentissage actif, Transfer Learning
  • Méthodes d’ensembles : bagging, boosting.
  • Apprentissage et données structurées : Séquences et arbres, Graphes et données interdépendantes.

Apprentissage profond avancé et apprentissage par renforcement (6 ECTS)

Responsable : Sylvain Lamprier
Modalités : 28h CM, 28h TP
Objectif : acquérir les compétences en apprentissage par renforcement et méthodes neuronales stochastiques.
Prérequis : notions élémentaires d’apprentissage statistique et calcul scientifique en Python.
Contenu :

  • Markov Decision Process.
  • Algorithmes de Bandits (bandits stochastiques, bandits contextuels).
  • Apprentissage par renforcement (TD-lambda, Q learning).
  • Apprentissage profond pour le renforcement (Deep Q learning, Policy gra-
    dient, Reinforce, Actor critic, DDPG, TRPO).
  • Apprentissage par imitation.
  • Modèles génératifs et adverses (GAN, VAE).
  • Apprentissage par renforcement inverse (apprentissage des fonctions de
    récompense).
  • Curriculum learning, reward shaping (apprentissage incrémental : de sous
    tâches plus simples vers la tâche finale).

Bases de données large échelle (6 ECTS)

Responsable : Mohamed Amine Baazizi
Modalités : 26h CM, 30h TP
Objectif : ce cours présente les grands principes du traitement des données massives.
Prérequis : notions fondamentales de programmation, interrogation des données avec SQL, couche physique des systèmes de gestion de bases données.
Contenu :

  • Introduction à la programmation parallèle et fonctionnelle sur Scala.
  • Données multidimensionnelles et entrepôts de données.
  • Paradigme Map-Reduce : modèle de calcul et implantation dans Spark.
  • Evaluation des requêtes distribuées.
  • Paradigme BSP (Bulk Synchronous Programming) et application pour l’analyse des graphes.