(10 hours to learn)
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.
This concept has the prerequisites:
- 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)
→ Convex Optimization
A graduate-level textbook on convex optimization.
- Some special cases of convex optimization problems:
- create concept: shift + click on graph
- change concept title: shift + click on existing concept
- link together concepts: shift + click drag from one concept to another
- remove concept from graph: click on concept then press delete/backspace
- add associated content to concept: click the small circle that appears on the node when hovering over it
- other actions: use the icons in the upper right corner to optimize the graph placement, preview the graph, or download a json representation