General Info: 2nd year course, CentraleSupélec, December 2020 - January 2021, 35 hours
Lecture hours: Tuesday (8:30-11:45), Friday (13:45 - 17:00)
Instructors: Fragkiskos Malliaros and Maria Vakalopoulou
Online office hours: Contact us on Teams
TAs: Enzo Battistella, Yoann Pradat, Jun Zhu
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 real-world 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 real-world 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 on Edunao
just before the start of the class. The due dates of the assignments/project are subject to change.
|1||December 1||Introduction; Model selection and evaluation||Lecture 1||
|2||December 4||Linear and logistic regression||Lecture 2||
|3||December 8||Probabilistic classifiers and linear discriminant analysis||Lecture 3||Assignment 1 out
|4||December 11||Non-parametric learning and nearest neighbor methods||Lecture 4||
|5||December 18||Tree-based methods and ensemble learning||Lecture 5||Assignment 1 due on December 23
|6||January 5||Support Vector Machines||Lecture 6||Kaggle project out
|7||January 8||Neural networks||Lecture 7||Assignment 2 out
|8||January 12||Introduction to deep learning ||Lecture 8||
|9||January 15||Dimensionality reduction||Lecture 9||
|10||January 19||Unsupervised learning: clustering||Lecture 10||Assignment 2 due on January 24
|11||January 22||Topics in unsupervised learningGuest lecture ||Lecture 11||
|12||January 25||Exams||Kaggle project due on January 31
[December 1] Lecture 1: Introduction; Model selection and evaluation
Introduction to machine learning, administrivia, course structure and overview of the topics that will be covered in the course. Overfitting and generalization. Bias-variance tradeoff. Training, validation and test sets. Cross-validation. Evaluation of supervised learning algorithms. Basic concepts in optimization.
- M. Kuhn and K. Johnson. An Introduction to Feature Selection. Applied Predictive Modeling, pages 487-519, 2013. [For the part of the lecture on feature selection].
- Concentration of the empirical risk (also here), lecture notes by Dimitris Papailiopoulos (UW-Madison).
- Model evaluation, model selection, and algorithm selection in machine learning: Part I (Basics), Part II (Bootstrapping and uncertainties), and Part III (Cross-validation and hyperparameter tuning). Interesting blog post by Sebastian Raschka, 2016.
- Convex Optimization: Algorithms and Complexity (Sections 1.1, 1.2, 1.3)
- Convex optimization and gradient descent, lecture notes by Nisheeth Vishnoi, EPFL (Sections 1.1, 1.2, 1.3)
[December 4] Lecture 2: Linear and logistic regression
Supervised learning models. Linear regression. Regularization. Linear classification models. Logistic regression. Maximum likelihood estimation.
[December 8] Lecture 3: Probabilistic classifiers and linear discriminant analysis
Bayes rule. Naive Bayes classifier. Maximum a posteriori estimation. Linear discriminant analysis (LDA).
[December 11] Lecture 4: Non-parametric learning and nearest neighbor methods
Introduction to non-parametric learning methods. Distance and similarity metrics. Nearest neighbor algorithms.
[December 18] Lecture 5: Tree-based methods and ensemble learning
Decision trees. Ensemble learning. Bagging and Boosting. The AdaBoost algorithm.
[January 5] Lecture 6: Support Vector Machines
Maximum margin classifier. Linear SVMs. Primal and dual optimization problems. Non-linearly separable data and the kernel trick. Regularization and the non-separable case.
[January 8] Lecture 7: Neural networks
Introduction to neural networks. The perceptron algorithm. Multilayer perceptron. Backpropagation. Applications.
[January 12] Lecture 8: Introduction to deep learning
Deep learning, CNNs
[January 15] Lecture 9: Dimensionality reduction
Dimemensionality reduction techniques. Singular Value Decomposition (SVD). Principal Component Analysis (PCA). Multidimensional Scaling (MDS) and nonlinear dimensionality reduction.
- 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. 2319-2323, 2000
- S. T. Roweis and L. K. Saul. Nonlinear Dimensionality Reduction by Locally Linear Embedding. Science, 290:5500, pp. 2323-2326, 2000
- M. Belkin and P. Niyogi. Laplacian eigenmaps and spectral techniques for embedding and clustering. In NIPS, 2001
[January 19] Lecture 10: Unsupervised learning: clustering
Introduction to unsupervised learning methods. Data clustering. Hierarchical clustering. k-means clustering. Spectral clustering.
[January 22] Lecture 11: Introduction to reinforcement learning
Intelligence agents, dynamic programming, Monte Carlo methods, temporal difference learning
Course Structure and Objectives
Each section of the course is divided into 1h30' lecture and 1h30' lab. The labs will include hands-on assignments (using Python) and will provide the students the opportunity to deal with ML tasks in practice.
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 hands-on experience on dealing with.
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
- Deal with real-world data challenges.
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).
There is no single requiered textbook for the course. We will recommend specific chapters from the following books:
- Shai Shalev-Shwartz and Shai Ben-David. 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.
The evaluation of the course will be based on the following:
- Two assignments: the assignments will include theoretical questions as well hands-on practical questions that will familiarize the students with basic machine learning tasks.
- Project: this will be a Kaggle challenge. The students are expected to form groups of 3-4 people, work on the challenge, and submit a final report.
- Final exam: Final exam in the material covered in the course.
The grading will be as follows:
| Assignment 1 (individually): || 10%
| Assignment 2 (individually): || 10%
| Kaggle project (groups of 3-4 students): || 20%
| Final exam: || 60%
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.
Details about the project of the course have been posted on Edunao.
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 2020
) for more information.