凸优化深度指南
文档概述
凸优化是现代机器学习与统计推断的理论支柱。本指南系统介绍凸集与凸函数的基本理论、典型优化问题(LP、QP)、对偶理论与KKT条件、梯度下降法及其收敛性分析,以及各类一阶二阶优化方法。
关键词
| 序号 | 关键词 | 英文 | 核心概念 |
|---|---|---|---|
| 1 | 凸集 | Convex Set | |
| 2 | 凸函数 | Convex Function | |
| 3 | 线性规划 | Linear Programming | |
| 4 | 二次规划 | Quadratic Programming | |
| 5 | KKT条件 | Karush-Kuhn-Tucker | 最优性的必要条件 |
| 6 | 对偶问题 | Dual Problem | 原问题的下界优化 |
| 7 | 梯度下降 | Gradient Descent | |
| 8 | 收敛率 | Convergence Rate | |
| 9 | Lipschitz连续 | Lipschitz Continuity | |
| 10 | 强凸 | Strong Convexity | 凸 |
| 11 | Frank-Wolfe | Frank-Wolfe Algorithm | 线性约束优化的投影自由方法 |
| 12 | 拉格朗日 | Lagrangian |
一、凸集与凸函数
1.1 凸集的定义与性质
凸集:集合 是凸的,当且仅当对任意 和 ,有:
几何直观:凸集内任意两点的线段完全包含在集合内。
常见的凸集:
- 超平面:
- 半空间:
- 多面体:有限个半空间和超平面的交集
- 范数球:(任意范数)
- 仿射集:
- 正象限:
凸集的运算保凸性:
- 交集:凸集的交集仍是凸集
- 和:如果 凸,则 凸
- 仿射变换: 保持凸性
- 透视变换:保持凸性
凸集示例
- 单位球 是凸的
- 三角形的内部是凸的
- 圆盘(平面内)是凸的
- 环形区域 不是凸的(因为不包含原点到边界点的线段)
1.2 凸函数的定义
凸函数:函数 是凸的,当且仅当 是凸集,且对任意 和 :
几何意义:函数图像上任意弦线位于函数图像上方。
严格凸:若上述不等式在 和 时严格成立。
凹函数: 是凸的。
Jensen不等式:凸函数的离散形式:对任意 和 ,:
1.3 凸函数的判别与性质
一阶条件:若 可微,则 凸当且仅当
即函数位于任一点切平面的上方(支持超平面性质)。
二阶条件:若 二阶可微,则 凸当且仅当其Hessian矩阵半正定:
常见的凸函数:
- 指数函数
- 负对数 (在 )
- 范数 (任意 )
- 二次函数 ()
- 最大函数
- 指数和函数 (log-sum-exp)
凸函数的重要性
凸优化问题的局部最优解即全局最优解。这一性质使得凸问题在理论上”容易”求解——只需找到局部最优即可。
二、典型优化问题
2.1 线性规划(LP)
线性规划的标准形式:
或不等式形式:
线性规划的几何:目标函数定义一族平行超平面。约束定义一个多面体(凸集)。最优解出现在多面体的顶点。
单纯形法:通过在顶点间移动来寻找最优解,最坏情况指数时间,但实际中通常很快。
内点法:通过障碍函数在多面体内部移动,多项式时间复杂度。
diet problem(饮食问题)
最小化成本选择食物满足营养需求: 其中 是食物 的量, 是单价, 是营养 的含量, 是每日需求。
2.2 二次规划(QP)
二次规划:
当 (半正定)时,问题为凸二次规划,全局最优可达。
等效于:最小二乘的正则化形式
KKT条件简化(无不等式约束时):
2.3 二次约束二次规划(QCQP)
QCQP:
当所有 时,QCQP是凸问题。
二阶锥规划(SOCP) 是QCQP的推广:
SOCP包含LP、QP和QCQP作为特例,在信号处理和鲁棒优化中广泛应用。
三、对偶理论与KKT条件
3.1 拉格朗日函数
考虑标准优化问题(原问题):
拉格朗日函数:
其中 (不等式约束的乘子),(等式约束的乘子)。
3.2 拉格朗日对偶函数
对偶函数定义为拉格朗日函数关于 的下确界:
其中 。
对偶函数的性质(弱对偶性):
即对偶函数给出原问题最优值 的下界。
3.3 对偶问题
对偶问题(拉格朗日对偶):
对偶问题的最优值记为 ,恒有 (弱对偶性)。
强对偶性:在某些条件下,。这些条件包括:
- Slater条件:存在严格可行的 (对于凸问题),即 使得 (而非 )且 。
- 约束规范:如线性约束独立、KKT条件满足等。
3.4 KKT条件
对于最优解 和对偶变量 ,KKT条件为:
- 原始可行性:,
- 对偶可行性:
- 互补松弛:
- 拉格朗日平稳性:
KKT的意义
在强对偶性成立的条件下,KKT条件是 为原问题最优解的充要条件。这使得我们可以将约束优化问题转化为解方程组。
几何解释:在最优解处,梯度 可以表示为约束梯度的非负线性组合,且约束在边界处必须”夹住”梯度方向。
四、梯度下降与收敛性分析
4.1 梯度下降法
梯度下降是最基本的迭代优化方法:
其中 是步长(学习率)。
收敛性分析的基本假设:
- Lipschitz连续梯度:,即Hessian有界:
- 步长选择:固定步长 或随迭代变化
4.2 凸函数的收敛率
一般凸函数(Lipschitz连续):
取最优步长 ,得 收敛率。
强凸函数:设 -强凸,即 凸。
取 ,则:
收敛率为 ,即线性收敛。
条件数的影响
收敛速度依赖于条件数 。条件数越大,收敛越慢。这解释了为什么预处理(preconditioning)可以加速优化。
4.3 非凸函数的收敛性
对于非凸函数,梯度下降保证:
- 梯度范数收敛到0:
- 收敛到稳定点(梯度为零的点),不一定是全局最优
在深度学习中,损失函数是非凸的,但梯度下降仍能有效找到好的局部最优解(实践中往往也接近全局最优)。
五、一阶与二阶优化方法
5.1 一阶方法
动量法(Momentum):
动量累积历史梯度方向,加速收敛并减少震荡。Nesterov动量更激进:
Adam(Adaptive Moment Estimation):
Adam自动调整每个参数的学习率,在实践中效果极佳。
5.2 二阶方法
牛顿法:
牛顿法的收敛率:对于强凸函数,达到 (二次收敛),远超线性收敛。
但牛顿法的问题:
- 需要计算和存储Hessian矩阵( 存储)
- 需要求解Hessian线性系统( 计算)
- Hessian可能不正定
拟牛顿法:用低秩矩阵逼近Hessian或其逆:
- BFGS:逼近Hessian
- L-BFGS:限制记忆的BFGS变体
- OWL-QN:用于L1正则化问题
5.3 约束优化的投影方法
投影梯度法:
其中 是到凸集 的投影。
对于简单约束(如箱约束 ),投影有闭式解:
六、Frank-Wolfe算法
6.1 算法描述
Frank-Wolfe算法(也称条件梯度法)是处理线性约束凸优化问题的投影自由方法:
初始化:
迭代:
- 线性最小化子问题:求解
- 步长计算:(或线搜索)
- 更新:
6.2 与投影梯度法的对比
Frank-Wolfe的优势:
- 投影自由:只需解决线性最小化,而非投影到复杂集合
- 当 是多面体时,线性最小化可能比投影更高效
- 稀疏解:解天然是原子的凸组合
Frank-Wolfe的劣势:
- 收敛速度较慢: 而非
- 对于非多面体约束集合,线性最小化可能仍困难
SVM与Frank-Wolfe
支持向量机的对偶问题可以用Frank-Wolfe求解。线性最小化子问题退化为寻找支持向量,复杂度与活跃约束数成正比。
6.3 收敛性分析
对于强凸目标函数 ,Frank-Wolfe达到 的收敛率:
其中 是与函数曲率相关的常数。
条件梯度滑动(Conditional Gradient Sliding)结合了Frank-Wolfe与Nesterov加速的思想,可以达到更好的收敛率。
参考文献
- Boyd, S., & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press.
- Nesterov, Y. (2018). Lectures on Convex Optimization (2nd ed.). Springer.
- Bertsekas, D. P. (1999). Nonlinear Programming (2nd ed.). Athena Scientific.
- Rockafellar, R. T. (1970). Convex Analysis. Princeton University Press.
- Bottou, L., Curtis, F. E., & Nocedal, J. (2018). Optimization Methods for Large-Scale Machine Learning. SIAM Review, 60(2), 223-311.