Course Description
This course covers a selected set of topics in machine learning.
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 regression and classification, gradient-based optimization,
deep neural networks, as well as unsupervised learning techniques such as dimensionality reduction and clustering.
Prerequisites:
This course requires programming skills (Python and NumPy) and knowledge of probability (e.g., MATH 323 or ECSE 305),
calculus (e.g., MATH 222), linear algebra (e.g., MATH 223), and algorithms (e.g., COMP 251).
For more information on official requirements see the course prerequisites and restrictions
here.
Course Material:
Assignments, slides, tutorials, code links, 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:
[Murphy]
Probabilistic Machine Learning: An Introduction by Kevin Murphy (2022)
[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)