Course Description
This course covers a selected set of topics in machine learning and data mining, with an emphasis on good methods and practices for deployment of real systems. The majority of sections are related to commonly used supervised learning techniques, and to a lesser degree unsupervised methods. This includes fundamentals of algorithms on linear and logistic regression, decision trees, support vector machines, clustering, neural networks, as well as key techniques for feature selection and dimensionality reduction, error estimation and empirical validation.
Prerequisites:
This course requires programming skills (Python) and basic knowledge of probabilities,
calculus and linear algebra provided by courses similar to MATH-323 or ECSE-305.
For more information see the course prerequisites and restrictions
at
McGill’s webpage.
Course Material:
Assignments, announcements, slides, project descriptions and other course materials are posted on
myCourses.
Textbooks:
There are no required textbook but the topics are covered by the following books:
[Bishop]
Pattern Recognition and Machine Learning by Christopher Bishop (2007)
[Goodfellow]   
Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016)
[Murphy]
Machine Learning: A Probabilistic Perspective by Kevin Murphy (2012)
Other Related References
The Elements of Statistical Learning: Data Mining, Inference, and Prediction by Trevor Hastie, Robert Tibshirani and Jerome Friedman (2009)
Information Theory, Inference, and Learning Algorithms, by David MacKay (2003)
Bayesian Reasoning and Machine Learning , by David Barber (2012).
Understanding Machine Learning: From Theory to Algorithms, by Shai Shalev-Shwartz and Shai Ben-David (2014)
Foundations of Machine Learning, by Mehryar Mohri, Afshin Rostamizadeh, and Ameet Talwalkar (2018)
Dive into Deep Learning , by Aston Zhang, Zachary Lipton, Mu Li, and Alexander J. Smola (2019)
Mathematics for Machine Learning , by Marc Peter Deisenroth, A Aldo Faisal, and Cheng Soon Ong (2019)
A Course in Machine Learning, by Hal Daumé III (2017)
Hands-on Machine Learning with Scikit-Learn and TensorFlow, by Aurélien Géron (2017)
Tutorials
ML implementation tutorials
- Wednesdays and Fridays at 2 PM (starting 25/09/2020)
Probability and Linear Algebra
- 12 PM - 1:30 PM on Friday 18/09/2020
-
linear algebra (sections 1-3), and
probability theory
Python / NumPy
- 4:30 PM - 6 PM EST on Thursday 10/09/2020
-
Numpy quickstart guide
Scikit-Learn
- TBD
Pytorch
- TBD
tutorials on Pytorch website