News
- Last year, the average grade for this course was 27.1
- Classes will be on Mondays at 14:30 (in classroom 100) and Tuesdays at 12:30 (in classroom 208).
- The experimental projects for students who attended the course in the academic year 2023-24 or earlier will be announced at the end of May 2024.
- For the past edition of this course, follow this link.
For students of the MSc in Data Science for Economics
- The course Machine learning and statistical learning has two separate exams, one for the MACHINE LEARNING module (Cesa-Bianchi, 40 hours, this course) and one for the STATISTICAL LEARNING module (Salini, 40 hours).
The written test for the MACHINE LEARNING module will be offered on dates that do not necessarily coincide with the DSE exam sessions. These dates are shown in the calendar entries below here. DSE students who want to take the written test on one of the advertised dates must fill out a form that will be sent via email a few days before the session date.
Bibliographic references:
Lecture notes provided by the instructor
The course makes heavy use of probability and statistics. A good textbook on these topics is:
Dimitri P. Bertsekas and John N. Tsitsiklis, Introduction to Probability (2nd edition). Athena Scientific, 2008.
Some good machine learning textbooks:
Shai Shalev-Shwartz e Shai Ben-David, Understanding Machine Learning: From Theory to Algorithms, Cambridge University Press, 2014.
Mehryar Mohri, Afshin Rostamizadeh e Ameet Talwalkar, Foundations of Machine Learning (2nd edition), MIT Press, 2018.
Goals
Machine learning is the main enabling technology of modern artificial intelligence. This course explains the statistical foundations of machine learning, describes some fundamental algorithms for supervised learning, and shows how to analyze their performance. Emphasis is on theory and principled methods as opposed to practice and heuristics.
Syllabus
- Introduction (version of March 5, 2024)
- The Nearest Neighbour algorithm (version of March 17, 2024)
- Tree predictors (version of March 20, 2024)
- Statistical learning (version of March 25, 2024)
- Risk analysis for tree predictors (version of April 7, 2024)
- Hyperparameter tuning and risk estimates (version of April 8, 2024)
- Consistency and nonparametric algorithms (version of April 16, 2024)
- Risk analysis for Nearest Neighbour (version of May 31, 2023)
- Linear predictors (version of April 25, 2024)
- Online gradient descent (version of April 29, 2024)
- Kernel functions (version of May 16, 2023)
- Support Vector Machines (version of May 23, 2023)
- Stability and risk control for SVM (version of May 26, 2023)
- Neural networks and deep learning (version of May 23, 2024)
- Logistic regression and surrogate loss functions (version of June 8, 2023)
- Boosting and ensemble methods
- Epilogue: Generative AI
Some notebooks with small experiments showing overfitting and hyperparameter tuning.
Exams
The exam consists of two parts:
- Writing a paper of about 10-15 pages containing either a report describing experimental results (experimental project) or a in-depth analysis of a theoretical topic (theory project).
- Taking a written test on all the topics covered in class. The test consists in a list of 12 questions taken from this list (updated from time to time), plus an extra bonus question.
Fill out this form to turn in the project
After the experimental project is turned in and graded, in order for the mark to be validated the student must answer a few questions about the project (date and time to be agreed with the TAs).
The evaluation of the theory project also includes an oral exam on the report's contents and the related topics covered in class.
The written test can be only taken at the regular exam sessions. The project can be turned in at any time between June 2023 and the end of May 2024. The final grade is the arithmetic average (rounded to the nearest integer) of the mark obtained in the written test and the mark obtained in the project. The exam is passed if: the average is 18 or higher and both marks are 17 or higher.
The experimental project is typically based on implementing two or more learning algorithms (or variants of the same algorithm) from scratch. The algorithms are compared on real-world datasets. The programming language is immaterial. However, the implementation should be reasonable in terms of running time and memory footprint. If the experimental project is based on neural networks, then the student is allowed to use a toolbox (e.g., Keras). The report, preferably written using LaTeX, will be evaluated according to the following criteria:
- Correctness of the general methodological approach
- Reproducibility of the experiments
- Correctness of the approach used for choosing the hyperparameters
- Clarity of exposition
It is OK if two students submit an experimental project together as a group. Clearly, such group projects are expected to be more extensive than single-person projects (more experiments, comparison with baseline algorithms, etc).
If your solution is adapted from other sources (e.g., Kaggle), this must be clearly stated, and the report should explain the differences and compare the experimental results.
Steps to complete the experimental project:
- Fill out a form to choose a project
- Create a public repository containing both the code and the report (in pdf)
- Fill out a form to turn in the project
- In 1-2 weeks, you will receive the grade via email.
The theory project is typically (but not exclusively) focused on a topic taught in class. The report will be based on one scientific paper (provided by the instructor), and must contain the complete proof of at least a technical result, including all necessary definitions and auxiliary lemmas. The goal of the theory project is to provide an in-depth presentation of the paper's results, including its connections with the related literature. The report may be structured as follows
- Introduction and description of the problem
- Most important related works
- Notation and relevant definitions
- Proof of a technical result
- Some critical considerations.
Note: The theory project report MUST be written in LaTeX.
Steps to complete the theory project:
- Send an email directly to the instructor to agree on a topic;
- Turn in the report via email to the instructor;
- After 1-2 weeks, the instructor will get in touch to agree on a date for the oral discussion.
IMPORTANT FOR ALL PROJECTS:
Your report must contain the following declaration: I/We declare that this material, which I/We now submit for assessment, is entirely my/our own work and has not been taken from the work of others, save and to the extent that such work has been cited and acknowledged within the text of my/our work. I/We understand that plagiarism, collusion, and copying are grave and serious offences in the university and accept the penalties that would be imposed should I engage in plagiarism, collusion or copying. This assignment, or any part of it, has not been previously submitted by me/us or any other person for assessment on this or any other course of study.
Course calendar:
Browse the calendar pages and click on a day to find out what was covered on that day.