导读:Boyd《凸优化》第 1 到 3 章的任务:练出一眼判定凸性的功夫。凸问题之所以值得,是因为局部最优即全局最优、对偶理论完整、高效算法存在。
凸集与凸函数
凸集:连线不出集合。凸函数:割线在函数图上方。判定工具箱:一阶条件(梯度单调)、二阶条件(Hessian 半正定)、上图是凸集、定义保持运算(非负加权和、仿射复合、逐点最大化、部分最小化)。
保凸运算的威力:逐点最大值凸、log-sum-exp 凸、仿射映射的复合保凸——复杂凸函数全由简单凸件组装。
标准形识别
线性规划、二次规划(凸二次目标加线性约束)、二阶锥规划、半定规划的递进家族——许多非显式凸问题经过变量替换(几何规划取对数、p 范数用辅助变量)落入标准家族。
陷阱清单:最大值与相乘破坏凸性;凸函数的最大值凸而最小值不凸;拟凸目标可用二分法但不是凸优化。
与机器学习的接口
SVM 二次规划、Lasso、逻辑回归(凸但无闭式)、矩阵补全的半定松弛——机器学习的经典模型几乎都在凸家族。深度学习的非凸则用良好初始化加过参数化避开坏局部点。
常见误区
- 两个凸函数的乘积想当然为凸(一般不凸,需对数变换后再验)。
- 约束集凸但目标不凸(或反之)就宣称凸优化。
吃透自检
- 能用至少三种工具判定函数凸性
- 能把一个非标准问题转化为二阶锥标准形
- 能列举三种保凸运算并用例验证