Objectifs

Le Big data marque le début d’une transformation majeure, qui va affecter de façon profonde l’ensemble des secteurs (de l’e-commerce à la recherche scientifique en passant par la finance et la santé). L’exploitation de ces immenses masses de données nécessite des techniques mathématiques sophistiquées visant à extraire l’information pertinente. L’ensemble de ces méthodes forme le socle de la « science des données » (ou data science). Ce passage des données aux connaissances est porteur de nombreux défis qui requièrent une approche interdisciplinaire. La « science des données » s’appuie fortement sur le traitement statistique de l’information : statistiques mathématiques, statistiques numériques, apprentissage statistique ou machine learning. De l’analyse de données exploratoires aux techniques les plus sophistiquées d’inférence (modèles graphiques hiérarchiques) et de classification ou de régression (deep learning, machine à vecteurs de support), une vaste palette de méthodes de statistiques mathématiques et numériques et d’apprentissage est mobilisée. Ces méthodes, pour pouvoir être développées à l’échelle de masses de données requièrent la maitrise des mécanismes de distribution des données et des calculs à très grande échelle. Les mathématiques appliquées (analyse fonctionnelle, analyse numérique, optimisation convexe et non convexe) ont également un rôle essentiel à jouer. D’un point de vue applicatif, la « science des données » impacte fortement de nombreux secteurs. Il existe actuellement partout dans le monde un large déficit de “Data Scientists” et “Data Analysts”. Les étudiants issus de formations en science des données et “Big Data” sont donc très attendus sur le marché de l’emploi. Ce marché de l’emploi est mondial et concerne à la fois les économies développées et émergentes. A l’instar de tous les domaines d’innovations de ruptures (biotechnologies, e-médecine), le besoin d’ingénieurs de très haut-niveau et de doctorants est également important.

1ere période (Septembre-Décembre)

20 ECTS à valider à choisir dont le Data Camp I (obligatoire) (Attention, il n’y a pas de compensation entre les modules… mais vous avez le droit de vous inscrire à plus de 20 ECTS)

Systems for Big Data Analytics

Responsable : Yanlei DIAO

Crédits : 5 ECTS

Syllabus à venir.

Big Data Frameworks

Responsable : Salim NAHLE

Crédits : 5 ECTS

Numerus clausus : 30

Syllabus:

Objectives:

The objectives of this course are the following:

  • Discover the different components of a Big Data cluster and how they interact.
  • Understand Big Data paradigms.
  • Understand the benefits of open source solutions.
  • Develop a Big Data project from scratch
  • Master Spark, its data models and its different methods of operation
  • Learn how to use Spark to analyze data, develop Machine Learning pipelines and finally do streaming with Spark
  • Understand and implement distributed algorithms.
  • Understand the advantages of SQL/NOSQL databases.

Description of the course:

The module Big Data Frameworks is composed of two courses:

  • Big Data with Hadoop (27 hours)
  • Data Science with Spark (13 hours)

Big Data with Hadoop:

Apache Hadoop has been evolving as the Big Data platform on top of which multiple building blocks are being developed. This course presents the Hadoop ecosystem, Hadoop Distributed File System (HDFS) as well as many of the tools developed on it:

  • MapReduce and YARN
  • Hive and HBase
  • Kafka, Flume, NiFi, Flink, Oozie, etc.

Students will also discover various subjects such as security, resource allocation and data governance in Hadoop

Data Science with Spark:

Apache Spark is rapidly becoming the computation engine of choice for big data. This course presents:

  • Spark’s architecture and Spark Core: RDDs (Resilient Distributed Datasets), Transformations, and Actions
  • Spark and Structured Data: explore Spark SQL and Spark Data Frames
  • Spark Machine Learning libraries (MLLIB and ML)
  • Spark Streaming

Prerequisites:

Java, Python, Machine Learning and basic knowledge in Linux system administration and SQL

Evaluation:

The final mark of the module is a weighted average of 2 marks:

  • Big Data with Hadoop (weight 2)
  • Data Science with Spark (weight 1)

Each course is evaluated by a midterm exam (coefficient 0.3, 1 hour) and a continuous evaluation (coefficient 0.7, labs and mini-projects).

 

Theoretical guidelines for high-dimensional data analysis

Responsable : Christophe GIRAUD

Crédits : 2.5 ECTS

Syllabus : 

Program

Goal of the lectures:

  • to draw your attention to some issues in data analysis, and some proposals to handle them;
  • to learn to read a research paper, to catch the take home message and to identify the limits;
  • to favor your own critical analysis.

The lecture will be based on some recent research papers. The presence during the lectures is mandatory and taken into account in the final evaluation.

Schedule

Lecture

Topic

Paper(s)

Slides

Further reading

1

False discoveries, multiple testing, online issue

paper 1 (short review)

Slides

Reliability of scientific findings? Online FDR control

2

Strength and weakness of the Lasso

Paper 1

Slides

No free computationnal lunch

3

Adaptive data analysis

Paper 1

Slides

Kaggle overfiting

4

Curse of dimensionality, robust PCA, theoretical limits

Paper 1 (suppl. material)

Slides

Robust PCA

5

Robust learning

Paper 1

Slides

Learning with Median Of Means

Machine Learning: from theory to practice

Responsables : Erwan LE PENNEC et Florence d’ALCHÉ-BUC

Crédits : 5 ECTS

Syllabus :

Goals of the course:

  • to present the fundamental principles of the classical ML methodologies in both the supervised and the unsupervised case: linear regression, logistic regression, naive Bayes, nearest neighbor, SVM, PCA, MDS, k-means, GMM, hierarchical clustering…
  • to describe some advanced methodologies: RKHS, trees, ensemble methods, graph, feature design…
  • to explain how those tools and their underlying principles can be used to tackle less classical setting such as non tabular data (images/text) or recommendation systems.

Schedule:

  1. ML and ML Methods I
  2. ML & Graphs I
  3. ML Methods II
  4. ML & Graphs II
  5. Kernel and RKHS
  6. Lab II
  7. Unsupervised Learning (ELP)
  8. Trees and Ensemble methods (ELP)
  9. Lab I
  10. Feature Design
  11. Neural Nets

Modalities:

  • Lab reports during the course period (10 pts)
  • Written exam in January (10 pts)
Optimisation for Data Science

Responsables : Alexandre GRAMFORT et Robert GOWER

Crédits : 5 ECTS

Syllabus à venir.

Statistical Learning Theory

Responsables : Arnak DALALYAN

Crédits : 2.5 ECTS

Syllabus à venir.

Graphical Models for large scale content access

Responsables : François YVON

Crédits : 2.5 ECTS

Syllabus :

  1. Introduction
    Classification de documents,
    Modèles graphiques orientés
  2. Les modèles de thèmes
    Mélange de lois multinomiales
    Algorithme EM
    Modèle PLSA
    Modèle LDA
  3. Les modèles structurés
    Dépendances linguistiques, structure dans les modèles graphiques
    Retour sur les HMM
    Modèles d’alignments IBM1, IBM2
  4. Les modèles conditionnels
    Régression logistique et maximum d’entropie
    Modèle CRF
  5. Inférence exacte
    Elimation des variables
    Passage de messages
    Algorithme de l’arbre de jonction
  6. Inférence approchée: méthodes variationnelles
    Propagation de croyances dans des graphes cycliques
    Principes de l’inférence variationnelle
    Application à LDA
  7. Inférence approchée: échantillonnage
    Principe des méthodes d’échantillonage
    Application au mélangue de lois multinomiales
    Application à LDA
Introduction to Graphical Models

Responsables : Umut Şimşekli

Crédits : 2.5 ECTS

Syllabus :

  • Lecture 1: Introduction & Probability reminder
  • Lecture 2: Conditional independence, Directed and undirected graphical models, 
  • Lecture 3: Factor graphs, Sum-product algorithm, Exponential family distributions 
  • Lecture 4: Gaussian Mixture Models and the Expectation-Maximization algorithm
  • Lecture 5: Applications of the Expectation-Maximization algorithm, Non-negative matrix factorization
  • Lecture 6: Hidden Markov Models
  • Lecture 7: Hidden Markov Models, Mini project 
Advanced Learning for Text and Graph Data (ALTEGRAD)

Teachers : Michalis VAZIRGIANNIS, Antoine TIXIER, Ioannis NIKOLENTZOS

Crédits : 5 ECTS

Syllabus :

Introduction

The ALTEGRAD course aims at providing an overview of state-of-the-art ML and AI methods for text and graph data with a significant focus on applications.

Each session will comprise two hours of lecture followed by two hours of programming sessions.

Grading for the course will be based on a final data challenge.

TO ENROL – IMPORTANT !

All interested students should fill the following form to enrol: link to form

Course Syllabus 2017

  • 7/11 11am-3pm ENS Cachan Amphi Curie (d’Alembert building). Graph-of-words advanced topics (1/2)
    • Introduction to text preprocessing and NLP
    • graph of words and information retrieval
  • 14/11 11am–3pm ENS Cachan Condorcet room. Graph-of-words advanced topics (2/2)
    • Keyword extraction, Summarization (abstrative, extractive)
    • Graph based document categorization
    • Event detection in text streams (twitter)
  • 15/11 9am-1pm ENS Cachan Condorcet room. Word & document embeddings
    • Introduction to NN architectires for NLP
    • Latent Semantic Indexing
    • Word embeddings: word2vec, glove models, word mover’s distance, doc2vec
    • Backpropagation for MLP architectures
    • Deep Learning architectures for text classification (CNNs, RNNs, LSTMs)
  • 5/12 (Master Data Science students only) Polytechnique. Room and time TO BE DETERMINED. Influential spreader detection, influence maximization
    • single spreaders: epidemic models (SIR/SIS), baselines for spreaders selection
    • multiple spreaders:  LT/IC model, Greedy Algorithm
  • 11/12 2-6pm ENS Cachan Condorcet room. Graph kernels, community detection
  • 12/12 11am-3pm ENS Cachan Amphi Curie (d’Alembert building). Deep Learning for Graphs
  • 15/12 2-5:30pm (MVA students only) ENS Cachan Amphi Curie (d’Alembert building) Repeated from 5/12Influential spreader detection, influence maximization

The ALTEGRAD challenge Fall 2017 topic is:
“Can you predict whether two short texts have the same meaning?”

You can find more information for the challenge here.

Data Camp

Responsables : Balazs KEGL et Alexandre GRAMFORT

Crédits : 2.5 ECTS

Syllabus :

You will put your basic machine learning and data analysis knowledge to test by

  1. solving practical data science problems in scientific or industrial applications and by
  2. designing data science workflows.

 

Code-submission data challenge

To achieve the first objective, you will participate in a data challenge at the RAMP site. The particularity of RAMPs (vs Kaggle) is that you will submit code, not predictions. Your code will be inserted into a predictive workflow, trained and tested. A public cross-validation score will be available on a public leaderboard, real time. Your grade will be a function of the private test score of your best submission, obtained on a hidden test set. The challenge will also include a collaborative phase in which you can access all the submitted solutions, and you will be allowed and encouraged to reuse each other’s code. Part of your grade will come from your activities from this collaborative phase.

You will be able to choose from two to five problems coming from scientific or industrial applications (e.g., brain imaging, astrophysics, biology/chemistry, ad placement, insurance pricing). You can participate in more than one challenges: we will grade you based on your best performance.

The starting kit

Each challenge will come with an open source starting kit available at https://github.com/ramp-kits, containing

  • a Jupyter notebook that describes the industrial or scientific prediction problem, does some exploratory analysis and data visualization, and explains the predictive workflow and one or more basic solutions (example),
  • a Python script that parametrizes the challenge (example),
  • public training and test data sets, different from the official sets we use to evaluate your submissions at the RAMP site (example), and
  • one ore more example submissions (example).

You will be able to test the example submission and all your subsequent submissions before submitting, using a simple command line test script (more information here).

Timeline

  • Opening of the challenges: October 27, 12h30-14h30
  • Closing of the competitive phase: December 17, 20h
  • Closing of the collaborative phase: January 30, 20h

Evaluation

Half of your grade will come from the data challenge, 5/20 from the competitive phase and 5/20 from the collaborative phase. Selected students will be able to present their solutions to the class, for up to 2/20 bonus grades.

Team project

 

To achieve the second objective, you will build a predictive workflow in teams of size three to five, implement a data-driven business/science case. We will give you a set of pointers to existing data sources, but you will be encouraged to find business/science cases and data sources on your own. Collaborating with research teams or businesses will also be highly regarded.

You will submit the projects as RAMP starting kits on github. We will not ask you here to optimize the solution, rather to focus on its design and its match to the business or science case.

The business/science case

Half of your grade (5/10) will come from the quality of the predictive business or science case that you will present in the preamble of the Jupyter notebook of your starting kit. The following questions are to guide you in this exercise:

  • What do we want to predict? How will a good prediction improve a key performance indicator (KPI) or lead to a scientific result?
  • How do we measure the quality or value of the prediction in the selected business or science problem? What will be the quantitative score? How does the quantitative score reflect the quality or value of the prediction? How does the (possibly asymmetric) prediction error convert into cost or decreased KPI?
  • Will the predictor be used as decision support, as a part of a fully automated system, or only as part of a report or feasibility study? How will an agent use the system?
  • What data do we need to develop a predictor? Could you find this data? What were the actual data sources? What other sources (private or public) could be exploited? What were and would be the data collection costs?
  • What data cleaning/tidying steps were required to obtain clean training data?
  • Given the data source(s) and the prediction goal, what is the workflow and the workflow elements? Will you need different expertise for the different steps?
  • How fast the phenomena underlying the prediction problem change? How often the model will have to be retrained? What are the associated costs and risks?

The technical quality

The second half of your grade (5/10) will come from the technical quality of your solution. You kit will have to pass the ramp_test_submission test. We will pay close attention to your validation setup (Is the validation reasonable? Do you have enough test data to see significant differences between submissions?). We will also grade the quality of the exploratory analysis and the clarity of the technical explanation of the workflow.

Timeline

  • December 18: You should arrive to the data camp week prepared, having formed teams and having an approximate idea about the business/science problem you would like to tackle and the potential data sources.
  • December 18 – 22: The data camp week, Ecole Polytechnique, Amphi Faure (9h – 17h). We will have lectures in the morning and guided work and student presentations in the afternoon (students presenting their solutions will get up to 2 bonus points). The tentative program:
  • January 30 20h: deadline of submitting the projects.

 

Prerequisites

The course will require that you develop code in Python. We strongly suggest that you start preparing. You should have a complete Python environment setup on your machine on the first day of the course. We recommend to use Anaconda (https://www.continuum.io/downloads). It includes all required libraries. Here are some necessary resources: numpy, pandas, scikit-learn, xarray. You might want to also install: seaborn, hyperopt, and xgboost. Some of the challenges strongly favor deep learning solutions; we will allow submissions both in pytorch and in keras (with tensorflow backend).

The scikit-learn web site is also a great resource to brush up on your ML skills. The following tutorials are recommended to learn more about pandas and scikit-learn:

http://scikit-learn.org/stable/tutorial/basic/tutorial.html

https://github.com/amueller/scipy-2016-sklearn

http://pandas.pydata.org/pandas-docs/stable/tutorials.html

The slack forum

During the challenge and the data camp we will be communicating through slack. The workspace URL is:

https://join.slack.com/t/datacamp2017/signup  

You should be able to register if your emails ends with:

  • telecom-paristech.fr
  • ensae-paristech.fr
  • polytechnique.edu
  • supelec.fr
  • ensae.fr
  • edu.ece.fr
  • ens-lyon.fr
  • ensta-paristech.fr
  • u-psud.fr
  • eleves.enpc.fr*

* Contact us if you cannot register.

You can also use it for communicating within and between teams.

Data sources

The following is a list of data sources that you may use in your team project. Note however that picking a nice data set and setting up a prediction problem is not enough for a good grade: you also have to make a reasonable business or science case.

Introduction to Bayesian learning

Responsables : Anne SABOURIN

Crédits : 2.5 ECTS

Syllabus à venir.

2nde période (Janvier-Avril)

Enseignements facultatifs (minimum 20 ECTS au choix… de préférence plus pour compenser crédits manquants)

Apprentissage en ligne et Agrégation

Responsable : Pierre ALQUIER

Crédits : 3 ECTS

Objectifs

  • bien comprendre les différents modèles et contextes de prédiction en ligne (prédiction séquentielle, problème de bandit, transfer learning…);
  • comprendre et savoir implémenter l’algorithme de gradient en ligne ; comprendre le fonctionnement de l’agrégation à poids exponentiels.
  • être capable de comprendre un article de recherche sur la problématique de la prédiction en ligne.

Descriptif du cours

Ce cours constitue une introduction à l’apprentissage en-ligne, c’est-à-dire quand les données sont révélées au fur et à mesure du processus d’apprentissage plutôt que sous la forme d’un échantillon donné une fois pour toutes. Après une rapide introduction aux méthodes incontournables (halving, online gradient), on s’intéressera aux méthodes d’agrégation. L’idée de base est, étant donné plusieurs prédicteurs, de les faire voter en leur attribuant des poids spécifiques plutôt que d’en choisir un seul. Ces méthodes permettront des résultats optimaux dans des conditions extrêmement générales.

Dans un second temps, on reviendra au cadre d’apprentissage “batch” ou “off-line” plus classique: on verra que les méthodes d’agrégation proposées précedemment peuvent également s’utiliser dans ce cas. On discutera également les différents algorithmes possibles pour implémenter ces méthodes: MCMC et méthodes variationnelles.

A la fin du cours, on étudiera des contextes un peu moins standards, comme les problèmes de bandits (où l’on a qu’une information partielle sur l’effet de chaque décision prise) et les problèmes de transfer learning et lifelong learning, qui permettent de réutiliser l’information acquise en résolvant un problème statistique pour en résoudre de nouveaux.

Deux ou trois séances seront dédiées à l’implémentation en R ou Python des algorithmes vus en cours et à leur test sur des jeux de données. Le cours sera évalué par un court projet (résumé d’un article de recherche, implémentation éventuelle des méthodes proposées dans l’article).

Prérequis

Les concepts de base en algèbre linéaire et en analyse convexe. Surtout, une connaissance raisonnable de la théorie des probabilités.

Note finale 

Soutenance orale d’un projet.

Apprentissage et optimisation séquentiels

Responsable : Gilles STOLTZ

Crédits : 5 ECTS

Objectifs

  • Connaître le cadre des bandits stochastiques à nombre fini de bras, et le cadre de la prévision de suites arbitraires par agrégation de prédicteur
  • Maîtriser les techniques de preuves de bornes inférieures sur le regret
  • Maîtriser les techniques de preuves de bornes supérieures sur le regret

Descriptif du cours

Ce cours est un cours très technique, centré sur les preuves mathématiques ; aucune programmation d’algorithmes ne sera proposée, uniquement des preuves, parfois longues et douloureuses. L’objectif est d’apprendre à poser et modéliser un problème d’apprentissage séquentiel, d’exhiber des algorithmes si possible computationnellement efficaces pour majorer le regret, et de montrer ensuite l’optimalité des bornes obtenues, en prouvant qu’aucun autre algorithme ne peut faire mieux en un sens à préciser.

Cette démarche (modélisation, algorithme pour la borne supérieure, borne inférieure universelle) est la démarche canonique pour publier des résultats sur un problème donné. Nous verrons également comment rédiger élégamment des preuves. Ce cours est donc fort intéressant pour ceux qui se destinent à une thèse de mathématiques (et ceux-là uniquement).

Prérequis

  • Une maîtrise et du recul sur les sujets suivants (attention, avoir suivi juste quelques heures de cours sur ces sujets n’est pas suffisant)
  • Théorie de la mesure (ex : lemme de la classe monotone, théorème de Radon-Nykodym) 
  • Théorie de l’intégration (ex : théorèmes de Fubini)
  • Calcul des probabilités (ex : espérances conditionnellement à un vecteur de variables aléatoires) 
  • Théorie des martingales (ex : théorèmes de Doob pour les sur- ou sous-martingales) 
  • Notions élémentaires de statistique (ex : intervalles de confiance non-asymptotiques à la Hoeffding) 
  • Eléments de théorie de l’information idéalement (ex : divergence de Kullback-Leibler, lemme de Pinsker)

Note finale 

La validation du cours se fera par un examen en temps quasi-illimité (9h – 20h), sans doute en avril (attention aux conflits avec les dates de stage). Il n’est pas possible de remplacer l’examen par un projet, ce cours étant théorique. Attention, l’examen a été jugé difficile à passer par les étudiants des années précédentes.

Datascience pour l’AdTech

Responsable : Cyrille DUBARRY

Crédits : 2.5 ECTS

Présentation du domaine

Le monde de la publicité en ligne a été révolutionné il y a quelques années par l’apparition des technologies d’enchère en temps réel, connues sous leur dénomination anglaise Real-Time Bidding (RTB). Ces enchères permettent l’achat d’espaces publicitaires à la granularité la plus fine : impression par impression. A chaque visite d’un utilisateur sur un site de contenu, chaque annonceur peut choisir de lui afficher ou non une publicité et déterminer le prix maximum qu’il est prêt à payer pour cette opportunité. Une des conséquences est le besoin d’automatisation et d’optimisation pour les acteurs connectés au RTB et de nombreuses solutions font naturellement appel au Machine Learning. Ce sont ces solutions que ce module se propose d’explorer, tant d’un point de vue théorique que pratique…

Objectifs pédagogiques

A l’issue de ce module, les étudiants connaîtront les challenges du monde de l’AdTech et sauront identifier les problèmes auxquels le Machine Learning peut apporter une solution. Des cas pratiques seront donnés en réflexion afin de comprendre comment passer d’une problématique business à un problème de Machine Learning identifié. La réflexion ira jusqu’à l’analyse finale afin de prouver que la solution proposée était bien la bonne.

Plus généralement, l’accent sera mis sur le fait que le métier de Data Scientist ne se limite pas à la mise en place d’algorithmes de prédiction ou de classification.

Evaluation

L’évaluation se fera par l’utilisation du Machine Learning pour analyser un jeu de données fourni par Teads.tv.

  • Jour 1 : Introduction à l’AdTech et aux systèmes d’enchère
  • Jour 2 : Machine Learning pour le calcul du bid – Choix d’algorithmes et tuning
  • Jour 3 : Evaluation de modèles online (AB-testing) et offline
  • Jour 4 : Infrastructure et Big Data
  • Jour 5 : Autres applications du Machine Learning à l’AdTech
Data stream Processing

Responsables : Jérémie Sublime, Raja Chiky & Alexis Bondu

Crédits : 3 ECTS

Objectifs

  • Introduction aux concepts autour des flux de données (data stream)
  • Introduction et pratique sur les systèmes de gestion de flux de données (DSMS: Data Stream Management Systems)
  • Techniques de résumés de flux de données (échantillonnage, sketch, etc.)
  • Techniques et technologies d’apprentissage pour les flux de données massives avec mise en pratique

Descriptif du cours

Ce cours s’articule autour de techniques permettant le traitement et l’analyse de grands flux de données. Il s’agit de prendre du recul afin de comprendre les spécificités et problématiques de ce type de données, les différents types de streams existants, quels sont les modèles théoriques existants pour les modéliser, et quels outils existent pour les traiter en théorie et en pratique.

Après la présentation théorique de ce que sont les flux de données, le cours aborde la problématique des flux de données sous deux angles :

  • Une approche théorique sur l’adaptation d’algorithmes de Machine Learning et de Data Mining pour traiter de telles données, avec toutes les problématiques qui y sont liées : traitement en temps réel, traitement en une seule passe, et échantillonnage de données.
  • Une approche pratique présentant les technologies, logiciels et systèmes de management utilisés pour gérer de telles données.

Sur le plan pédagogique, le cours comportera 6 séances de cours et TP en alternance, suivie par une 7ème séance consacrée à la présentation d’articles scientifiques récents sur le sujet du Data Streaming.

Prérequis

  • SQL de base
  • Bases en programmation Java recommandées
  • Notions de Machine Learning (apprentissage supervisé et non-supervisé)

Note finale

2/3 de contrôle continu en TP et 1/3 présentation d’un article scientifique.

Deep learning

Responsables : Charles OLLION et Olivier GRISEL

Crédits : 5 ECTS

English version below

Initiation pratique à l’apprentissage profond

Le Deep Learning (Apprentissage Profond en Français) a bénéficié d’une forte visibilité dans le monde de l’apprentissage automatique, grâce notamment aux progrès rapides et importants dans la reconnaissance vocale, la vision par ordinateur, et le traitement automatique du langage naturel. Cette branche du machine learning a suscité des investissements importants de la part des géants de l’internet tels que Google, Microsoft, Facebook et IBM.

C’est également en grande partie grâce à l’apprentissage profond que le programme AlphaZero a pu battre les champions de Go et les meilleurs programmes d’échecs en fin 2017.

Le Deep Learning permet de construire des modèles prédictifs hiérarchiques appelés réseaux de neurones artificiels. Grâce à leur structure, ces réseaux construisent automatiquement des représentations de plus en plus abstraites des données.

L’avènement de ces techniques a été rendu possible par le Big Data – grand volume de données pour l’apprentissage ; par la rapide croissance des capacités de calcul, notamment grâce aux GPUs ; et enfin par la meilleure compréhension des techniques d’optimisation des réseaux de neurones.

Programme

Ce cours couvre les techniques pratiques d’optimisation des réseaux de neurones profonds. Il permettra aux étudiants d’être opérationnels pour l’étude et la mise en place de modèles d’apprentissage avancés sur des données complexes, grâce à aux techniques et outils suivants:

  • Bibliothèques Numpy, TensorFlow, Keras

  • Techniques d’optimisation, de transfert et de régularisation

  • Connaissance des architectures classiques et à l’état de l’art

En particulier les étudiants mettront en œuvre ces méthodes pour les applications suivantes :

  • l’analyse de l’image grâce aux réseaux de convolution profonds ;

  • l’analyse du langage par l’apprentissage non supervisé de représentations de mots et les réseaux récurrents ;

  • une ouverture sur d’autres applications tels que les moteurs de recommandation, les modèles génératifs, …

Public visé et prérequis

Ce cours s’adresse aux étudiants ayant déjà étudié le Machine Learning. Il est composé de nombreux travaux pratiques sur machine (prévoir un ordinateur portable).

Les prérequis techniques sont langage python (notamment sous jupyter, notions de numpy et scikit-learn).

Modalités de contrôle

Contrôle continu en début de session travaux pratiques, et évaluation finale sur machine.

 


Practical introduction to deep learning

Deep Learning has become a widely used term in the world of artificial intelligence, thanks to rapid and significant advances in voice recognition, computer vision, and natural language processing. This branch of machine learning has attracted significant investment from the internet giants such as Google, Microsoft, Facebook and IBM.
The AlphaGo program that could beat the champion Lee Sedol in March 2016 included a significant Deep Learning component.

Deep Learning algorithms attempt to model high level abstractions in data using an artificial neural networks. Thanks to their hierarchical structure, these networks automatically construct increasingly abstract representations of data.
The advent of Deep Learning was made possible by Big Data – large amounts of data for learning; rapid growth of computing power thanks to GPUs; and finally by the better understanding of the neural network optimization techniques.

Program

This course covers practical techniques of optimization deep neural networks. Students will be able study and implement advanced learning models on complex data, through the following techniques and tools:

  • Libraries Numpy, TensorFlow, Keras

  • optimization techniques, transfer and regularization

  • Understanding of classical model architecture and state of the art

In particular, students will implement methods for the following applications:

  • Image analysis through deep convolutional networks;

  • language analysis by unsupervised learning of representations of words and recurrent networks;

  • other applications such as recommendation engines, generative models …

Audience and prerequisites

This course is for students who have already studied Machine Learning. It consists of many practical sessions (laptop required).
The technical prerequisites are Python language (especially in jupyter, concepts and numpy scikit-learn).

Methods of control

Continuous assessment at the beginning of practical work session, and final evaluation (coding session).

Estimation Bayésienne non paramétrique

Responsable : Vincent RIVOIRARD

Crédits : 5 ECTS

Numeros clausus : 10 étudiants

Prérequis obligatoire

  • statistique bayésienne paramétrique,
  • régression non-paramétrique à noyau,
  • théorèmes de convergence en proba (début Billingsley)
Introduction mathématique au compressed sensing

Responsable : Guillaume LECUÉ

Crédits : 3 ECTS

Objectifs

L’objectif de ce cours est d’étudier des problèmes de statistiques en grandes dimensions afin de dégager trois idées fondamentales de cette thématique qui pourront par la suite être appliquées dans de nombreux autres problèmes liés aux sciences des données. Nous énonçons brièvement ces principes :

  1. Un grand nombre de données réelles appartiennent à des espaces de grandes dimensions dans lesquels les méthodes classiques de statistiques sont inefficaces (cf. fléau de la dimension). Néanmoins ces données sont pour la plupart d’entre elles structurées. Si bien que la “vraie” dimension du problème n’est plus celle de l’espace ambiant mais plutôt celle de la structure qui contient l’information utile des données. On parle de données structurées ou parcimonieuses. La construction de bases ou dictionnaires permettant de révéler les structures de faible dimension de ces données est une composante importante de la statistique en grande dimension.
  2. En première approche, la recherche de ces structures de faible dimension semble nécessiter le lancement d’une recherche combinatoire dans un espace de grande dimension. De telles procédures ne peuvent pas être utilisées en pratique. Une composante importante de la statistique en grande dimension est alors de proposer et d’analyser des algorithmes qui peuvent être implémentés même dans des espaces de grande dimension. Pour cela, deux approches ont reçu une attention particulière : la relaxation convexe (couplé à la boîte à outils de l’optimisation convexe) et les algorithmes itératifs qui permettent de résoudre parfois des problèmes d’optimisation non-convexe.
  3. Finalement, la troisième composante est le rôle joué par l’aléatoire dans la statistique en grande dimension. Il s’avère que les structures de faibles dimensions sont généralement révélées par des objets aléatoires et que, jusqu’à maintenant, on ne sait pas exhiber ces structures à l’aide de mesures déterministes aussi efficacement que le font, par exemple, les matrices aléatoires.

Descriptif du cours

Un cours de statistiques en grande dimension peut donc couvrir plusieurs pans des mathématiques dont la théorie de l’approximation, l’optimisation convexe et les probabilités. Dans ce cours, nous étudierons principalement l’aspect algorithmique et probabiliste de cette théorie. La théorie de l’approximation ne sera que très brièvement abordée au travers de l’exemple des images.

Ce cours abordera le paradigme de la statistique en grande dimension principalement autour de trois thématiques :

  1. problème de reconstruction exacte et approchée d’un signal de grande dimension à partir d’un petit nombre de mesures linéaires de ce vecteur sachant qu’il a un petit support;
  2. complétion de matrice / système de recommandation : comment compléter une matrice à partir de l’observation d’un petit nombre de ses entrées sachant que cette matrice est de faible rang;
  3. détection de communauté dans les graphes : trouver les sous-graphes de forte densité dans des ‘grands’ graphes.

Nous abordons donc le problème de la statistique en grande dimension au travers de trois objets/ types de données clefs pour la science des données : les vecteurs de grande dimension mais parcimonieux, les matrices de grande taille mais de faible rang et finalement, les graphes de ‘grande’ taille dont les noeuds sont organisés en communautés.

Le problème de Compressed Sensing sera utilisé comme le principale vecteur pédagogique pour l’apprentissage des trois idées clefs de la statistique en grandes dimensions mentionnés précédemment. On y consacrera donc 8 séances divisées comme suit : 5 séances de cours, 2 séances d’exercices et 1 séances de pratiques informatiques. Puis nous consacrerons les 4 dernières séances aux problèmes de complétion de matrices et de détection de communautés: 1 séance de cours/exercices et 1 séance d’informatique pour chacune des deux thématiques.

D’un point de vue des techniques mathématiques nous mettrons l’accent sur les thématiques suivantes :

  1. concentration de variables aléatoires et calcul de complexité;
  2. méthodes et analyse d’algorithmes en optimisation convexe.

Les séances de travaux pratiques informatiques s’effectueront en Python. On mettra particulièrement l’accent sur les librairies sklearn, cvxopt/cvxpy et networkx.

Prérequis

Pas de prérequis à l’exception des connaissances élémentaires en algèbre des matrices, analyse convexe et probabilités.

Note finale

1 mémoire sous forme de texte ou de notebook python commenté + soutenance par binôme.

Machine Learning, Business case

Responsables : Cyril VERON et Nicolas EID

Crédits : 5 ECTS

Syllabus à venir.

Optimisation et Statistique

Responsable : Francis BACH

Crédits : 5 ECTS

Descriptif

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.

Objectifs

  • Maîtriser les outils mathématiques pour l’analyse d’algorithmes de gradient stochastique.
  • Comprendre les liens entre les propriétés de convergence des algorithmes et la régularité du problème sous-jacent (comme la convexité forte).
  • Savoir démontrer les différents résultats présentés.

Prérequis

Pas de prérequis à l’exception des connaissances élémentaires en analyse convexe (fonctions et ensembles convexes), en probabilités (espérance conditionnelle et outils simples de grandes déviations) et statistique (regression linéaire et logistique).

Note finale

  • (a) Présence en cours obligatoire,
  • (b) TPs simples d’implémentation des principaux algorithmes (20%),
  • (c) Présentation d’article (80%).
Structured Data: Learning, Prediction Dependency, Testing

Responsable : Florence d’ALCHÉ-BUC, Slim ESSID et Zoltàn SZABO.

Crédits : 5 ECTS

Objectives

To master the mathematical tools for learning and prediction tasks, estimation of dependency measures, and hypothesis testing on structured domains.

Description of the course

Many real-world applications involve objects with an explicit or implicit structure. Social networks, protein-protein interaction networks, molecules, DNA sequences and syntactic tags are instances of explicitly structured data while texts, images, videos, biomedical signals are examples with implicit structure. The focus of the course is solving learning and prediction tasks, estimation of dependency measures, and hypothesis testing under this complex/structured assumption.

While in learning and prediction problems the case of structured inputs has been investigated for about three decades, structural assumption on the output side is a significantly more challenging and less understood area of statistical learning. The first part of the course provides a transversal and comprehensive overview on the recent advances and tools for this exploding field of structured output learning, including graphical models, max margin approaches as well as deep learning. The covered methods can be categorized into two sub-classes: scoring and energy-based techniques, and structured output regression algorithms.

The second part of the course gives an alternative view on the structured problem family, dealing with topics on dependency estimation and hypothesis testing. Emerging methods in these fields can not only lead to state-of-the-art algorithms in several application areas (such as blind signal separation, feature selection, outlier-robust image registration, regression problems on probability distributions), but they also come with elegant performance guarantees, complementing the regular statistical tools restricted to unstructured Euclidean domains. We are going to construct features of probability distributions which will enable us to define easy-to-estimate independence measures and distances of random variables. As a byproduct, we will get nonparametric extensions of the classical t-test (two-sample test) and the Pearson correlation test (independence test).

Prerequisites

The course requires a basic knowledge of kernel methods, graphical models, deep learning, optimization and functional analysis.

Exam

Project. Topics: link prediction, image/document understanding, drug activity prediction, molecule prediction, functional prediction, information theoretical optimization (including two-sample and independence testing).

Stage

Stage obligatoire d’une durée minimum de 14 semaines à compter du mois d’avril.