Optimization for Data Science
Overall Course Objectives
Mathematical optimization is used for a wide range of tasks within data science such as statistical estimation, dimensionality reduction, clustering, hyperparameter tuning, and model training. This course provides an in-depth understanding of the underlying mathematical optimization theory, ranging from foundational principles to state-of-the-art methods and scalable solution techniques that are applicable to a wide range of optimization problems that arise in the field of data science. The students will gain an understanding of the interplay between optimization and data science as well as the ability to understand and analyze the inner workings of different optimization algorithms, enabling them to discern the strengths and weaknesses of different problem formulations and solution methods.
See course description in Danish
Learning Objectives
- explain fundamental concepts in convex analysis, including convex sets and functions, conjugate functions, and subdifferentiability
- characterize optimization problems based on their mathematical properties (e.g., smooth/nonsmooth, convex/nonconvex, continuous/discrete, unconstrained/constrained) and recognize the implications of these properties on problem-solving approaches
- formulate optimization problems and derive optimality conditions and Lagrange dual problems
- explain how changes in constraints impact the optimal solution
- apply surrogation and convex relaxation techniques
- explain explicit and implicit regularization techniques
- analyze and apply stochastic optimization methods
- implement scalable algorithms for solving optimization problems within data science
- apply hyperparameter tuning strategies
- compare various optimization algorithms and evaluate trade-offs in terms of convergence speed, robustness, and scalability
Course Content
The role of optimization in data science (model assumptions, approximation-estimation-optimization trade-off, regularization techniques). Optimization theory (global and local optimizers, surrogate models, optimality conditions), convex analysis (convex sets and functions, conjugate function, subdifferential), and problem transformations. Optimization problems and their properties (linear/convex/nonlinear, smooth/nonsmooth, continuous/discrete, unconstrained/constrained). Surrogation and relaxation techniques. Optimization algorithms (first-order methods, proximal operator, quasi-Newton methods, Newton’s method, stochastic methods, Bayesian optimization) and convergence analysis. Randomized numerical linear algebra and implementation of scalable solution approaches for specific optimization problems encountered in data science.
Recommended prerequisites
01005/01006/01020/01025/01034/01035/01037/02402/02403/02601, coursework in calculus and linear algebra (e.g. 01005/01006/01020 and 01025/01034/01035/01037), statistics (e.g., 02402/02403), and numerical algorithms (e.g., 02601). Proficiency in a high-level programming language such as Python, Julia, or MATLAB is expected. While not essential, coursework in probability theory (e.g., 02405) and mathematical optimization (e.g., 02610) is recommended.
Teaching Method
Lectures and assignments