CMSC 764 | Advanced Numerical Optimization

This is a detailed survey of optimization from both a computational and theoretical perspective. Special emphasis will be put on scalable methods with applications in machine learning, model fitting, and image processing. There are no formal pre-requisites for this course, however students should have a strong background in applied mathematics (especially linear algebra) and computer programming.
Theoretical topics will include convex analysis, duality, rates of convergence, and advanced topics in linear algebra. Computational topics will include gradient methods, splitting methods, interior point methods, linear programming, and methods for large matrices. Homework assignments will require both mathematical work on paper and implementation of algorithms.

The basics

Communications and questions for this course will be managed through the course page on Piazza, which you can find here.

     
When: TuTh 11:00pm - 12:15pm       Where: EGR 1202
Instructor: Tom Goldstein Office Hours: Th 12:15-1:30pm, Iribe 4212
TA: Renkun Ni Office Hours: 10-11 on Tues rn9zm@terpmail.umd.edu
TA: Khanh Nguyen Office Hours: 2-3 on Mon kxnguyen@cs.umd.edu
TA: Amin Ghiasi Office Hours: 4-5 on Thurs amin@cs.umd.edu

Final Exam: TBD

Coursework & grading

Homework will be assigned approximately once per week. Homework assignments will consist of both programming exercises and theoretical problem sets. Programming assignments will be cumulative - you will need the results of early assignments to complete assignments that are given later in the course. The completed homework assignments you turn in must represent your own work.

The approximate grade breakdown of the course will be

  • 50% homework
  • 25% midterm exam
  • 25% final exam.

Note: This is a PhD qualifying course for computer science.

Homework

Assignments will be distributed in the for the Jupyter notebooks using Python 3. If you’ve never used notebooks before, you can find a tutorial here. For each assignment, you’ll turn in both a notebook, and a PDF of your completed notebook.

Homework will be turned in using Elms/Canvas. Follow this link to Elms, and then look for the course page after logging in.

Lecture Slides

These slides might get updated shortly before or after lecture…

Course Overview
Linear Algebra Review
Convolutions and FFT
Optimization Problems
Machine learning basics
Calculus
Neural Net Design
Quadratic Forms
Convex Functions
Gradient Methods
Quasi-Newton Methods
Duality
Proximal Methods
Lagrangian Methods Random topics | MCMC code example
Linear Programming
Bonus lecture: generalization

Slides below have not been updated…

Semidefinite Programming
Interior Point Method

Book & Other Sources

All course materials are available for free online. Suggested reading material for various topics includes: