ENGS 106 - Principles of Machine Learning

Description

Machine learning is a set of algorithms in the discipline of AI that enables various systems to learn and improve from data and experience without being explicitly given a set of rules of formulas. It almost seems like magic sometimes, but a distinct goal in this course is to learn that machine learning is not magic but, rather, is based on very rigorous mathematics and engineering principles with a vast number of applications. This course will start with requisite mathematical backgrounds (probability theory, statistics, some basic linear algebra, etc.). Then we will discuss supervised ML models, namely linear regression and classification models, neural network models, and kernel machine models. Finally, we will pivot to unsupervised learning and discuss unsupervised ML learning algorithms, such as probabilistic graphical models, K-clustering algorithm, EM (Expectation Maximization) algorithm, autoencoders, variational inference, PCA/ICA, density estimate, etc. we will also discuss sampling as time permits. 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 covered in this course . To be sure, the topics covered in this course are relevant for building, understanding, and analyzing wide range of current state-of-the-art machine learning models, but the focus will be on laying a strong theoretical foundation and engineering principles for understanding how the ideas of machine learning are used in fields such as economics, finance, policymaking, and healthcare, just to name a few.

Prerequisites

Muti-variable calculus (MATH 8 or MATH 9), linear algebra (MATH 22 or MATH 24), and probability (MATH 20, ENGS 27, or ENGS 93) or equivalent. ENGS 96 encouraged.

Cross Listed Courses

COSC 271

Notes

Not offered 2021-2023