Course Overview
Lecture room: Batiment Breguet, CentraleSupélec
Instructor: Fragkiskos Malliaros
Email: fragkiskos.me [at] gmail.com
Office hours: Right after class (or send me an email and we will find a good time to meet)
TA: Kimya Dhade
Email: b00718577 [at] essec.edu
Piazza: https://piazza.com/centralesupelec/fall2018/mldsbaai/home
Machine learning is the scientific field that provides computers the ability to learn without being explicitly programmed (definition by Wikipedia). Machine learning lies at the heart of many realworld applications, including recommender systems, web search, computer vision, autonomous cars and automatic language translation.
The course will provide an overview of fundamental topics as well as important trends in machine learning, including algorithms for supervised and unsupervised learning, dimensionality reduction methods and their applications. A substantial lab section will involve group projects on a data science competition and will provide the students the ability to apply the course theory to realworld problems.
Schedule and Lectures
The topics of the lectures are subject to change (the following schedule outlines the topics that will be covered in the course). The slides for each lecture will be posted in
piazza just before the start of the class.
The due dates of the assignments/project are subject to change.

Date 
Topic 
Material 
Assignments/Project 
1  October 4  Introduction  Lecture 1  
2  October 11  Dimensionality reduction  Lecture 2  
3  October 18  Model selection and evaluation  Lecture 3  Assignment 1 out Project proposal due on October 21 
4  November 5  Linear and logistic regression  Lecture 4  Assignment 2 out 
5  November 12  Probabilistic classifiers and linear discriminant analysis  Lecture 5  Assignment 1 due on November 11 
6  November 14  Nonparametric learning and nearest neighbor methods  Lecture 6  
7  November 19  Treebased methods and ensemble learning  Lecture 7  
8  November 21  Support Vector Machines  Lecture 8  
9  November 26  Unsupervised learning: clustering  Lecture 9  Assignment 2 due on December 2 
10  December 17  Project presentations   Project final report due 
[October 4] Lecture 1: Introduction
Introduction to machine learning, administrivia, course structure and overview of the topics that will be covered in the course. Bacic concepts in optimization.
Reading:
Additional:
[October 11] Lecture 2: Dimensionality reduction
Dimemensionality reduction techniques. Singular Value Decomposition (SVD). Principal Component Analysis (PCA). Multidimensional Scaling (MDS) and nonlinear dimensionality reduction.
Reading:
Additional:
 SVD and Low Rank Matrix Approximations, lecture notes by Tim Roughgarden and Gregory Valiant (Stanford University)
 Understanding Machine Learning: From Theory to Algorithms (Section 23.1)
 J. B. Tenenbaum, V. De Silva, and J. C. Langford. A Global Geometric Framework for Nonlinear Dimensionality Reduction. Science, 290:5500, pp. 23192323, 2000
 S. T. Roweis and L. K. Saul. Nonlinear Dimensionality Reduction by Locally Linear Embedding. Science, 290:5500, pp. 23232326, 2000
 M. Belkin and P. Niyogi. Laplacian eigenmaps and spectral techniques for embedding and clustering. In NIPS, 2001
[October 18] Lecture 3: Model selection and evaluation
Overfitting and generalization. Biasvariance tradeoff. Training, validation and test sets. Crossvalidation. Evalution of supervised learning algorithms.
Reading:
Additional:
 M. Kuhn and K. Johnson. An Introduction to Feature Selection. Applied Predictive Modeling, pages 487519, 2013. [For the first part of the lecture on feature selection].
 Model evaluation, model selection, and algorithm selection in machine learning: Part I (Basics), Part II (Bootstrapping and uncertainties), and Part III (Crossvalidation and hyperparameter tuning). Interesting blog post by Sebastian Raschka, 2016.
[November 5] Lecture 4: Linear and logistic regression
Supervised learning models. Linear regression. Linear classification models. Logistic regression. Maximum likelihood estimation.
Reading:
Additional:
[November 12] Lecture 5: Probabilistic classifiers and linear discriminant analysis
Bayes rule. Naive Bayes classifier. Maximum a posterioti estimation. Linear discriminant analysis (LDA).
Reading:
Additional:
[November 14] Lecture 6: Nonparametric learning and nearest neighbor methods
Introduction to nonparametric learning methods. Distance and similarity metrics. Nearest neighbor algorithms.
Reading:
Additional:
[November 19] Lecture 7: Treebased methods and ensemble learning
Decision trees. Ensemble learning. Bagging and Boosting. The AdaBoost algorithm.
Reading:
Additional:
[November 21] Lecture 8: Support Vector Machines
Maximum margin classifier. Linear SVMs. Primal and dual optimization problems. Nonlinearly separable data and the kernel trick. Regularization and the nonseparable case.
Reading:
Additional:
[November 26] Lecture 9: Unsupervised learning: clustering
Introduction to unsupervised learning methods. Data clustering. Hierarchical clustering. kmeans clustering. Spectral clustering.
Reading:
Additional:
Lecture 10: Project presentations
Presentation of the projects of each team.
Course Structure and Objectives
Structure
Each section of the course is divided into 1h30' lecture and 1h30' lab. The labs will include handson assignments (using Python) and will provide the students the opportunity to deal with ML tasks in practice.
Learning objectives
The course aims to introduce students to the field of machine learning by:
 Covering a wide range of topics, methodologies and related applications.
 Giving the students the opportunity to obtain handson experience on dealing with realworld problems.
We expect that by the end of the course, the students will be able to:
 Identify problems that can be solved using machine learning methodologies.
 Given a problem, identify and apply the most appropriate algorithm(s).
 Implement some of those algorithms from scratch.
 Evaluate and compare machine learning algorithms for a
particular task.
 Deal with realworld data challenges.
Prerequisites
There is no official prerequisite for this course. However, the students are expected to:
 Have basic knowledge of probability theory and linear algebra.
 Be familiar with at least one programming language (e.g., Python or any language of their preference).
Reading material
There is no single required textbook for the course. We will recommend specific chapters from the following books:
 Shai ShalevShwartz and Shai BenDavid. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press, 2014.
 Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2011.
 Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Second Edition, Springer, 2017.
 Jure Leskovec, Anand Rajaraman, and Jeff Ullman. Mining of Massive Datasets. Cambridge University Press, 2014.
Evaluation
The evaluation of the course will be based on the following:
 Two assignments: the assignments will include theoretical questions as well handson practical questions and will familiarize the students with basic machine learning tasks.
 Project: The students are expected to form groups of 34 people, propose a topic for their project, and submit a final project report (it would also be interesting to organize a poster session at the end of the quarter). Please, read the project section for more details.
The grading will be as follows:
Assignment 1 (individual):  15% 
Assignment 2 (groups of 34 students):  35% 
Project (groups of 34 students):  50% 
Academic integrity
All of your work must be your own. Don't copy another student's assignment, in part or in total, and submit it as your own work. Acknowledge and cite source material in your papers or assignments.
Project
Details about the project of the course will be posted soon on piazza.
Resources
Datasets
Software tools
Related conferences
Please find below a list of conferences related to the contents of the course (mostly in the field of machine learning and data mining. We provide the DBLP website of each venue where you can access the proceedings (papers, tutorials, etc).
Check out the website of each conference (e.g.,
KDD 2016 ) for more information.