INF8953CE - Machine Learning (Fall 2020)
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 and unsupervised learning from the first principles. The course, while covering several problems in machine learning like regression, classification, representation learning, 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.
|Mondays 12:45-14:45 and Thursdays 16:45-17:45
|Online (link available in Moodle)
Office hours: Mondays 14:45-15:45.
Office hours: Wednesdays 13:00-14:00.
Office hours: Thursdays 15:00-16:00.
Office hours: Fridays 13:00-14:00.
Office hours: Tuesdays 16:00-17:00.
|Assignments and Tutorials:
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.
Lecture notes will be available from the course web page. The course is based on the following references.
- [HTF] Trevor Hastie, Robert Tibshirani and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Available free online.
- [Bishop] Christopher Bishop. Pattern Recognition and Machine Learning.
- [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
Basic knowledge of Probability Theory/statistics (MTH2303 or equivalent), calculus, and linear algebra (MTH1070 or equivalent) is required.
The course is intended for hard-working, technically skilled, highly motivated students. Participants will be expected to display initiative, creativity, scientific rigour, critical thinking, and good communication skills.
Useful Online Courses covering the Prerequisites
While I do not expect you to know everything from the following courses, I recommend you to do these video courses at some point in the future if you are serious about doing Machine Learning.
The lectures and tutorials will be recorded and released to the public. By registering for the course, you agree for the recording and release of videos.
If you do not want your video to be visible while asking questions, you can turn off your video. If you do not want your audio to be part of the recording, you can ask your questions in chat or during office hours.
We will use Python 3 in all the assignments. All the programming tutorials will be only in Python 3.
The class grade will be based on the following components:
We will use gradescope for all the assignments and projects. More detailed instructions on how to use gradescope will be released in the beginning of the course.
- 3 Theory/Programming assignments (individual) - 45%
- Kaggle competition (team of 3) - 20%
- One endterm examination - 35%
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 you submission is after 24 hours from the deadline and within 48 hours (2 days) from the deadline.
- You will be penalized 20% if you 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.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.