COMPSCI 689: Machine Learning


Course Description: Machine learning is the computational study of artificial systems that can adapt to novel situations, discover patterns from data, and improve performance with practice. This course will cover the mathematical foundation of supervised and unsupervised learning. The course will provide a state-of-the-art overview of the field, with an emphasis on implementing and deriving learning algorithms for a variety of models from first principles. 3 credits.

Detailed course topics: Overview of supervised and unsupervised learning; mathematical foundations of numerical optimization and statistical estimation; maximum likelihood and maximum a posteriori (MAP) estimation; missing data and expectation maximization (EM); graphical models including mixture models, hidden-Markov models; logistic regression and generalized linear models; maximum entropy and undirected graphical models; nonparametric models including nearest neighbor methods and kernel-based methods; and dimensionality reduction methods (PCA and LDA). The course will focus on deriving learning algorithms from first principles and implementing them from scratch.

  • Date/Time: MW 2:30PM - 3:45PM
  • Location: Integrated Sciences Bldg 221
  • Teaching Assistants: TBA
  • Website: The course website will be hosted on Moodle.

Textbook: The course will use Machine Learning: A Probabilistic Perspective by Kevin Murphy as the course text.

Computing: Access to a relatively modern computer will be required to complete the assignment for the course. The course will use Python as a programming language.

Required Background: This course requires a strong mathematical background in probability and statistics, multivariate calculus and linear algebra.

What is the difference between COMPSCI 689 and COMPSCI 589?: 589 has been designed to focus on understanding and applying core machine learning models and algorithms, while 689 focuses on the mathematical foundations of machine learning. While both courses require a background in multivariate calculus, linear algebra, and probability; 689 is more theoretically focused and will use more of this background material than 589. In particular, 689 will focus on deriving learning and optimization algorithms from first principles and then implementing them from scratch.

What is the difference between COMPSCI 689 and COMPSCI 690M?: 689 will focus on deriving learning and optimization algorithms from first principles and then implementing them from scratch. There is a large focus on numerical optimization and statistical estimation. 690M will focus on statistical guarantees of learning algorithms (e.g., PAC, sample complexity, regret bounds, etc). The main focus will be on proving learning theory results. 690M will not involve any implementation of learning algorithms or programming.

Who Should Take COMPSCI 689?: 689 is primarily intended as an AI area core course for doctoral stream students. Undergraduate students should take COMPSCI 589 before applying for an override for COMPSCI 689 without exception. Professional MS students and other graduate students from outside computer science should also take COMPSCI 589 before attempting COMPSCI 689 unless they have a prior undergraduate background in machine learning or an extremely strong background in mathematics, statistics, and programming (for example, an undergraduate degree in mathematical computing).