Mathematics for Machine Learning aims to lay the mathematical foundation that are key to understanding the motivations and the implementation ML algorithms. This course will cover the following four broad topics; namely, vector calculus, probability theory, matrix algebra and optimization, in so far as they are used in ML algorithms. The course will conclude with application of these topics to four prototypical ML tasks/algorithms – two in supervised learning (regression using linear models and classification using support vector machine), and two in unsupervised learning (clustering using expectation maximization (EM) and dimensionality reduction using Principal Component Analysis (PCA). Programming at the level of Python and ML software packages (PyTorch, Tensorflow, etc.) will be used to supplement the understanding of the mathematics and algorithms, though the focus of the course will be on developing mathematical foundations and intuitions for the ML algorithms, rather than on developing large-scale applications of ML algorithms.
(MATH 8 or 9) or (MATH 22 or 24); MATH 20 not mandatory; ENGS 20 or COSC 10 preferred