Edition 2021 - 2022

We have entered the Artificial Intelligence Era. The explosion of available data in a wide range of application domains give rise to new challenges and opportunities in a plethora of disciplines – ranging from science and engineering to business and society in general. A major challenge is how to take advantage of the unprecedented scale of data, in order to acquire further insights and knowledge for improving the quality of the offered services, and this is where Machine and Deep Learning comes in capitalizing on techniques and methodologies from data exploration (statistical profiling, visualization) aiming at identifying patterns, correlations, groupings, modeling and doing predictions. In the last years Deep learning is becoming a very important element for solving large scale prediction problems. 
Course Logistics:
1. The course will take place on Monday afternoons beginning on 20/09/2021 and will be divided into nine 4-hour sessions as follows:
  •  (14:00 - 16:00) magistral teaching in: Amphi Gay-Lussac.
  •  (16:15 - 18:15) lab sessions in the small classes: Amphi Painlevé, Amphi Poisson, Amphi Sauvy.
2. Interaction/Q&As: 
We have set up a dedicated slack workspace for this course, which we will use to communicate with you. Please register to the following workspace with your full name and use it as much as possible.
3. The course will be assessed via:
  • (20% of the course mark) an individual take-home assessment handed out on Monday 11th October with deadline on Monday 25th October 5pm.
  • (80% of the course mark) a group data challenge handed out on Monday 8th November with a written report deadline on Friday 3rd December 5pm and oral assessments in the week of the 13th December. We will communicate further details about the formation of groups for the challenge at the start of November on the course slack channel.
4. You will have to complete the course work on your own laptops (preferably with a Unix environment like Linux or Mac OS X for compatibility reasons). As for software, we will be using  Python among others (to be installed locally on the laptops). Students are invited to install the current Anaconda distribution BEFORE the 1st lab session (https://www.anaconda.com/products/individual). Please also make sure that you have installed the PyTorch, numpy and scikit-learn python packages. 
Detailed syllabus of the course:
(minor changes may apply during course evolution.)
General Introduction to Machine Learning
- Machine Learning paradigms
- The Machine Learning Pipeline
Supervised Learning
- Generative and non generative methods
- Naive Bayes, KNN and regressions
- Tree based methods
Unsupervised Learning
- Dimensionality reduction
- Clustering 
Advanced Machine Learning Concepts
- Regularization
- Model selection
- Feature selection
- Ensemble Methods
- Introduction to kernels
- Support Vector Machines
Neural Networks
- Introduction to Neural Networks
- Perceptrons and back-propagation
Deep Learning I
- Convolutional Neural Networks
- Recurrent Neural Networks
- Applications
Deep Learning II
- Modern Natural Language Processing
- Unsupervised Deep Learning
- Embeddings, Auto-Encoders, Generative Adversarial Networks
Machine & Deep Learning for Graphs
- Graph Similarity 
- Graph Kernels 
- Node Embeddings