CS7140: Advanced Machine Learning

Course overview

Modern machine learning systems are often built on top of algorithms that do not have provable guarantees, and it is the subject of debate when and why they work. In this class, we will focus on designing algorithms whose mathematical properties we can rigorously reason for fundamental machine learning problems. The topics we cover fall within two broad themes:

  • Statistical learning and optimization theory.

  • Weakly supervised machine learning.

We will start with nonnegative matrix factorization, matrix completion, tensor factorization, and sparse recovery/regression. These topics will help establish the basic knowledge of statistical learning theory and optimization. We will then dive into a fundamental challenge faced by many researchers and practitioners today: how do we collect enough labeled data? We will cover transfer learning (a.k.a. domain adaptation), multi-task learning, weak supervision such as data programming and data augmentation, and semi-supervised learning (time permitting).


  • Course requirement: Machine Learning, and Algorithms (at the MS or senior-undergrad level); familiarity with basic probability and statistics.

  • Programming requirement: python, in particular pytorch.


  • Time: Mon/Wed 2:50pm - 4:30pm

  • Location: Hastings suite 114

  • Instructor: Hongyang R. Zhang. Teaching assistant: Haotian Ju

Office hours

  • Instructor: Monday 5pm - 6pm (or by email appointment). TA: Wednesday 11:30am - 1:30pm.

Grading (tentative): Three problem sets (45%), one research paper presentation (35%), one research project report (15%), attendence (5%).


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