convex optimization
(10 hours to learn)
Summary
Convex optimization refers to optimizing a convex function over a convex set. It is a very broad class of problems, encompassing widely used techniques such as linear programming, linear least squares, quadratic programming, and semidefinite programming. Convex optimization is important because for reasonable-sized problems, there are efficient algorithms for finding the global optimum.
Context
This concept has the prerequisites:
- optimization problems
- convex sets (The feasible set must be convex.)
- convex functions (The function being optimized must be convex.)
- gradient (The optimality condition for the unconstrained case is given in terms of the gradient.)
Goals
- Know the definition of a convex optimization problem
- Be aware that all local optima to a convex optimization problem are globally optimal
- Know and be able to apply the first-order optimality condition for the unconstrained case (i.e. the gradient being zero)
Core resources (read/watch one of the following)
-Free-
→ Convex Optimization
A graduate-level textbook on convex optimization.
See also
- Some special cases of convex optimization problems: Some algorithms used in convex optimization: Applications in statistics and machine learning:
- maximum likelihood in exponential families is a convex optimization problem
- support vector machines , a widely used classification algorithm