CS7140: Advanced Machine Learning

Course overview

Modern deep learning systems have revolutionalized many areas of computer science and have also made a huge impact in a variety of emerging scientific and commercial applications. However, not much is understood about when and why they work, leaving much of the current algorithmic designs to heuristic solutions. In this class, we will focus on machine learning algorithms and problems for which we can develop a rigorous understanding, thereby in the hope of developing better and more principled methods for future applications.

There are two kinds of studies when it comes to understanding how deep learning works, broadly speaking. One kind of study focuses on optimization, that is, understanding properties of gradient descent algorithms. The other kind of study focuses on generalization, that is, understanding the generalization performance of deep (and often overparametrized) neural networks. To facilitate the discussion, we will begin by reviewing topics around matrix factorization and tensor decomposition, which will provide the basics of linear algebra for talking about machine learning in a rigorous way.

As for the project presentations, we will center on a core issue in the recent literature, which is related to heterogeneity in machine learning (sometimes also called distribution shifts). We will read into the recent literature on robust optimization, multitask learning, while keeping in mind applications from a diverse range of areas such as algorithmic political science and tranportation networks.


  • Course requirement: Machine Learning, and Algorithms (at the senior or master's level); familiarity with basic probability and statistics.

  • Programming requirement: python.


Office hours

  • Instructor: Monday 5pm - 6pm (or by email appointment).

  • TA: TBA.

Grading (tentative): Three problem sets (40%), one research paper presentation (40%), and final project report (20%).


  • Check out the syllabus for more information about the class.