Course Info
Welcome to the Fall 2026 edition of the Machine Learning course!
This course provides a rigorous introduction to the field of machine learning (ML). The aim of the course is not just to teach how to use ML algorithms but also to explain why, how, and when these algorithms work. The course introduces fundamental algorithms in supervised learning from the first principles. The course, while covering several problems in machine learning like regression, classification, representation learning, and dimensionality reduction, will introduce the core theory, which unifies all the algorithms.
This course will be offered in English. However, the students in this course can submit in English or French any written work that is to be graded.
Quebec university students from outside Polytechnique Montreal can register for the course via Inter-University Transfer Authorization.
You should still come to the first lecture if you cannot register for the class because there are no available slots. I can open more slots if needed.
If you are a student at Poly, UdeM, HEC, McGill, or Mila, then you can request to audit this course by filling out this Google Form.
General Information
When?
Wednesdays 8:30 am to 12:30 pm (starting from 26 Aug 2025)
Where?
M-1510 (Pavillon Lassonde)
About Labs
The lab slot for this course is on Thursdays from 4:45 pm to 7:45 pm. The lab sessions are mandatory. The lab slot will be mainly used for in-person recitation and problem solving. Depending on the work load, TAs will also hold part of their office hours during the lab slot. We will also have some online office hours. All in-person lab activities will happen in A-416 (Main Building).
People
Instructor
- David Heurtel-Depeiges
TAs
- Anabel Tan
- Shai Pranesh
- Istabrak Abbes
- Davide Baldelli
- Nilaksh
Office Hours
| Name | Day | Time | Location |
|---|---|---|---|
| David | Wednesday | 11:30 PM to 12:30 PM and 1:30pm to 2:30pm | M-3406 (except first week) and online |
Please note that TAs will mainly hold their office hours during the lab slot.
Logistics
Prerequisites
Basic knowledge of Probability Theory/statistics (MTH2302 or equivalent), calculus, and linear algebra (MTH1007 or equivalent) is required.
You should be already familiar with the following sections in this book: Mathematics for Machine Learning.
- Section 2: Subsections 2.1, to 2.6 (inclusive)
- Section 3: All subsections
- Section 4: Subsections 4.1 to 4.5.1 (inclusive)
- Section 5: Subsections 5.1, 5.2, 5.3, 5.4, 5.5, 5.7
- Section 6: Subsections 6.1 to 6.5 (inclusive)
Assignment 0 and Problem sheet 1 are designed to help you review the prerequisites. You should complete Problem Set 1 before the first lab slot and Assignment 0 in the first week of the course. Excercises are annotated by difficulty level. If you struggle on a particular exercise, you should skip it and move on to the next one. Talk to me or the TAs if you are not sure about your level of preparation for the course.
The course is intended for hard-working, motivated students. Participants will be expected to display various levels of initiative, creativity, scientific rigour, and also scientific writing skills.
If you do not have the necessary prerequisites, then you have to spend a lot of time in this course (more than what is required for a 4-credit course).
Useful Online Courses covering the Prerequisites
I highly recommend you watch these video lectures on linear algebra by 3Blue1Brown several times! It will help you gain a strong intuition about matrices and linear algebra, which is essential to succeed in this course!
While I do not expect you to know everything from the following courses, I recommend that you do these video courses at some point in the future if you are serious about doing Machine Learning.
- Prof. Gilbert Strang’s video lectures on linear algebra.
- Prof. John Tsitsiklis’s video lectures on Applied Probability.
- Prof. Krishna Jagannathan’s video lectures on Probability Theory.
- Prof. Deepak Khemani’s video lectures on Artificial Intelligence.
Video Recordings
The lectures and tutorials might be recorded and released to the public. By registering for the course, you agree to record and release videos.
Programming Language
We will use Python 3 in all the assignments.
Evaluation Criteria
The class grade will be based on the following components:
- 3 Theory/Programming assignments (individual) - 24%
- 2 mid-term examinations (details will be provided during the first lecture and in the schedule soon) - 26%
- Kaggle competition (team of 3) - 15%
- End-term examination (theory and code) - 35% (25% and 10% respectively)
- Lab participation bonus - TBD
To obtain a passing grade on the course (D or better), a necessary but not sufficient condition is to obtain at least 50% in both mid-terms and end-term exams combined.
We will use Gradescope for all assignments and projects. At the beginning of the course, more detailed instructions on how to use Gradescope will be released.
We expect everyone to prepare (not solve but prepare) all exercises in all Problem Sets. The Problem Sets are not graded but geared towards preparing you for the mid-term and final examinations. They mirror the class and go further, with increasingly harder exercises.
During each lab session, the TA or myself will randomly ask for students to come and answer, or explain what they did to the class. Any reasonnable attempt at a solution that is shared with the class will give you a small bonus on your total grade. We will ask everyone at least once during the class. If everyone has been asked later during the course, students that did not get the bonus points will be eligible to get it again in the last few problem sets.
Late Submissions
If you submit your assignments and competition reports after the deadline, we will follow the following penalty scheme:
- You will be penalized 5% if your submission is within 24 hours (1 day) from the deadline.
- You will be penalized 10% if your submission is after 24 hours from the deadline and within 48 hours (2 days) from the deadline.
- You will be penalized 20% if your submission is after 48 hours from the deadline and within 72 hours (3 days) from the deadline.
- You cannot submit your assignments/reports after 72 hours from the deadline.
Communication
We will enroll the whole class on Piazza for you to ask questions. I will be sharing with you my professional email adress to send important and urgent requests to. Please use INF8245AE and your matricule in the e-mail header.
Syllabus
Tentative Course Content
Introduction - Prediction - Statistical Decision Theory - Linear Regression - Non-linear Regression - Bias-variance tradeoff - Linear Classification - Indicator Regression - PCA - LDA - QDA - GDA - Naive Bayes - Logistic Regression - Perceptron - Separating Hyperplanes - SVM - Decision Trees - ensemble learning - bagging - boosting - stacking - Neural Networks - Backpropagation - Training Deep Neural Nets - Optimization Methods - Convnets - RNNs - Estimation Theory - Maximum Likelihood Estimation - Maximum A Posteriori Estimation - Bayesian Learning - Bayesian Linear Regression - Kernel Methods - Gaussian Process - Clustering - K-means - GMM - EM Algorithm - Computational Learning Theory - Frontiers in ML.
Reference Materials
The course is based on the following references.
- [LN] INF8245E Course Lecture Notes.
- [HTF] Trevor Hastie, Robert Tibshirani and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. free online.
- [Bishop] Christopher Bishop. Pattern Recognition and Machine Learning. free online
- [Mitchell] Tom Mitchell. Machine Learning.
- [TSKK] Pang-Ning Tan, Michael Steinbach, Anuj Karpatne, Vipin Kumar. Introduction to Data Mining.
- [Rojas] Raul Rojas. Neural Networks.
- [GBC] Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. Available free online
- [Murphy] Kevin P. Murphy. Probabilistic Machine Learning: An Introduction. free online
- [Prince] Simon J.D. Prince. Understanding Deep Learning. free online