Créneau

Le Jeudi de 8 h 30 à 11 h 45

Prérequis

Prérequis Obligatoire :

  • « Statistique » 2ème année à l’ENPC ParisTech OU « Statistiques Numériques » 2ème année à l’ENPC ParisTech ;

 

Prérequis Fortement Recommandés :

  • Cours de Probabilités 2ème année (exemple, « Stochastic Processes and Applications ») ;
  • Maîtrise du cours « Optimisation » de première année ;
  • Maitrise d’au moins un langage de programmation parmi Python (de préférence), R, Matlab, Scilab, ou Octave.

Enseignant responsable

Yohann DE CASTRO

Equipe enseignante

Mathieu AUBRY, Claire BOYER, Yohann DE CASTRO

Objectifs du module

Beaucoup d'applications modernes (vision artificielle, robotique, traitement automatique des langues naturelles, biologie computationnelle et biomédecine, imagerie, cyber-sécurité, finance et assurance, e-marketing, systèmes de recommandation, etc.) requièrent de manipuler, visualiser et d’analyser des données de types et de volumes très divers. La discipline qui développe et étudie des méthodes concrètes pour modéliser ce type de données s'appelle l'apprentissage statistique (statistical/machine learning). Il s'agit, in fine, de produire des outils de prédiction et d'aide à la décision dédiés à une application spécifique.

L'apparition d'algorithmes très performants dans le milieu des années 90 a progressivement transformé le champ occupé jusqu'alors par la statistique traditionnelle qui reposait en grande partie sur le prétraitement réalisé par l'opérateur humain. En s'appuyant sur la théorie popularisée par Vapnik (The Nature of Statistical Learning, 1995), une nouvelle discipline d’expertise technologique est née: elle se situe à l'interface entre les communautés mathématique et informatique et mobilise un nombre croissant de jeunes ingénieur.e.s et  chercheurs.euses tourné.e.s vers les applications liées à l'analyse de données massives.

Dans ce module, on présentera le domaine, ses fondements, les problèmes qu'il permet d'aborder (apprentissage supervisé/non supervisé, batch/online, etc.) et les méthodes les plus récentes qui sont actuellement étudiées. Au delà de la description des concepts théoriques (minimisation empirique du risque, complexité combinatoire, etc.), ce module propose de nombreux travaux pratiques permettant de mettre en œuvre numériquement les méthodes abordées (algorithme classiques, validation croisée, etc.) et d’expérimenter certains phénomènes tels que le sur/sous apprentissage. Ces travaux seront réalisés en Python, et requerront de la programmation et l’utilisation de packages dédiés.

Programme du module

  • Semaine 1 , TD et Cours : Théorie de la Décision, Validation Croisée;
  • Semaine 2, TD et Cours : Classification, Régression Logistique et Analyse Discrimante ;
  • Semaine 3, TP : k-NN, Logistic regression and LDA ;
  • Semaine 4, TD et Cours : Rappels Optimisation et Convexification du Risque ;
  • Semaine 5, TD et Cours : Méthodes à Noyaux ;
  • Semaine 6, TD et Cours : Arbres de décisions et Boosting ;
  • Semaine 7, TP : Kernel SVM, Boosting et Bagging ;
  • Semaine 8, 3h de Cours : Deep Learning (Mathieu AUBRY);
  • Semaine 9, TP : Deep Learning;
  • Semaine 10, TD et Cours : Kernel PCA ;
  • Semaine 11, TD et Cours : Clustering ;
  • Semaine 12, TP : Kernel PCA et Clustering
  • Semaine 13, Examen et Projets

Modalités

 

 

7 séances de cours magistral et TDs

4 séances de TP de 3h

1 séance de 3h de cours interactive dédiée au Deep Learning

1 séance de 3h dédiée à l’examen.