Course Description

Machine learning is promising to revolutionize every domain. Beyond the media hype, what are the basic foundations? Are the theoretical underpinnings irrelevant given the success of deep learning? What does success even mean? In addition to covering the core concepts, the course aims to ask such critical questions and foster a healthy debate among the students. Assignments will include exploring failure modes of popular algorithms, in addition to traditional problem-solving type questions. The core concepts covered include: linear models, kernel methods, probabilistic models, spectral methods (matrices and tensors), neural networks representation theory, non-convex optimization, generalization in deep neural networks, causality etc. The course assumes students are comfortable with analysis, probability, statistics, and basic programming.

Course Details


Late Assignment Policy

Assignments will be due at 4pm on Friday via Moodle. Students are allowed to use up to 48 late hours. Late hours must be used in units of hours. Specify the number of hours used when turning in the assignment. Late hours cannot be used on the projects. There will be no TA support over the weekends.

Assignment Grading Policy

Peer grading will be used in this class. After your assignment submission, you will be assigned to grade three different assignments of your classmates. 20% of your assignment grade will be based on the accuracy of your grading your peers' assignments.

In order to preserve anonymity in the assignment grading process, please include a cover page on your submission which your name is clearly written. Do not write your name in any of the pages besides your cover page.

Project Grade Decomposition

Project Details and Guidelines pdf

Collaboration Policy

Homeworks: (taken from CS 1) It is common for students to discuss ideas for the homework assignments. When you are helping another student with their homework, you are acting as an unofficial teaching assistant, and thus must behave like one. Do not just answer the question or dictate the code to others. If you just give them your solution or code, you are violating the Honor Code. As a way of clarifying how you can help and/or discuss ideas with other students (especially when it comes to coding and proofs), we want you to obey the "50 foot rule". This rule states that your own solution should be at least 50 feet away . If you are helping another students but cannot without consulting your solution, don't help them, and refer them instead to a teaching assistant.

Projects: Students are allowed to collaborate fully within their project teams, but no collaboration is allowed between teams.

Teaching Assistants

Ehsan Abbasi
Gautam Goel
Sahin Lale



Lecture 1:        Introduction
Lecture 2: Optimization: Non-convex analysis
Lecture 3: Optimization: Competitive problems
Lecture 4: Competitive Optimization
Lecture 5: Spectral Methods: Matrix methods
Lecture 6: Spectral Methods: Tensor methods
Lecture 7: Generalization theory: VC and Radamacher bounds
Lecture 8: Generalization & Complexity
Lecture 9: Midterm: Presentation of project proposals.
Lecture 10: Midterm: Presentation of project proposals.
Lecture 11: Approximation & Generalization in NN
Lecture 12: Robust Deep Learning
Lecture 13: Active Learning
Lecture 14: Tackling Data Scarcity/Active Learning
Lecture 15: Data Issues
Lecture 16: Methods for Distribution Shift
Lecture 17: Fairness in ML
Lecture 18: Recap
Lecture 19: Final presentation of projects
Lecture 20: Final presentation of projects


Lecture videos can be found in the following YouTube playlist