Advanced Optimization: Theory and Applications
Course Outcomes
- Learn additional theory needed from calculus and linear algebra for optimization.
- Learn to model various applications from data science as an optimization problem.
- Learn to prove convergence estimates and complexity of the algorithms.
- Learn to code optimization solvers efficiently using Python.
- Demonstrate expertise in applying optimization methods in research problems.
This course teaches numerical optimization techniques to UG and PG students.
- Unit 1: Review of convexity, duality, and classical theory and algorithms for convex optimization (6 hours)
- Unit 2: Nonlinear and non-smooth optimization, projected gradient methods, accelerated gradient methods, sub-gradient projection methods, adaptive methods, second order methods, dual methods, solvers for min-max, alternating minimization, EM algorithm, convergence estimates (12 hours)
- Unit 3: Applications of advanced optimization: sparse recovery, low rank matrix recovery, recommender systems, extreme classification, generative adversarial methods (6 hours)
References:
- Stephen Boyd and Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
- Ian Goodfellow, Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016.
- Prateek Jain and Purushottam Kar, Non-convex Optimization for Machine Learning, 2017, arXiv.
- W. Hu, Nonlinear Optimization in Machine Learning.
Weightages:
- Assignments in theory: 15 marks, Mid Semester Examination: 25 marks, End Semester Examination: 30 marks, Assessment of four projects: 30 marks