凸优化深度指南

文档概述

凸优化是现代机器学习与统计推断的理论支柱。本指南系统介绍凸集与凸函数的基本理论、典型优化问题(LP、QP)、对偶理论与KKT条件、梯度下降法及其收敛性分析,以及各类一阶二阶优化方法。

关键词

序号关键词英文核心概念
1凸集Convex Set
2凸函数Convex Function
3线性规划Linear Programming
4二次规划Quadratic Programming
5KKT条件Karush-Kuhn-Tucker最优性的必要条件
6对偶问题Dual Problem原问题的下界优化
7梯度下降Gradient Descent
8收敛率Convergence Rate
9Lipschitz连续Lipschitz Continuity
10强凸Strong Convexity
11Frank-WolfeFrank-Wolfe Algorithm线性约束优化的投影自由方法
12拉格朗日Lagrangian

一、凸集与凸函数

1.1 凸集的定义与性质

凸集:集合 是凸的,当且仅当对任意 ,有:

几何直观:凸集内任意两点的线段完全包含在集合内。

常见的凸集

  • 超平面
  • 半空间
  • 多面体:有限个半空间和超平面的交集
  • 范数球(任意范数)
  • 仿射集
  • 正象限

凸集的运算保凸性

  • 交集:凸集的交集仍是凸集
  • 和:如果 凸,则
  • 仿射变换: 保持凸性
  • 透视变换:保持凸性

凸集示例

  1. 单位球 是凸的
  2. 三角形的内部是凸的
  3. 圆盘(平面内)是凸的
  4. 环形区域 不是凸的(因为不包含原点到边界点的线段)

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条件为:

  1. 原始可行性
  2. 对偶可行性
  3. 互补松弛
  4. 拉格朗日平稳性

KKT的意义

在强对偶性成立的条件下,KKT条件是 为原问题最优解的充要条件。这使得我们可以将约束优化问题转化为解方程组。

几何解释:在最优解处,梯度 可以表示为约束梯度的非负线性组合,且约束在边界处必须”夹住”梯度方向。


四、梯度下降与收敛性分析

4.1 梯度下降法

梯度下降是最基本的迭代优化方法:

其中 是步长(学习率)。

收敛性分析的基本假设

  1. Lipschitz连续梯度,即Hessian有界:
  2. 步长选择:固定步长 或随迭代变化

4.2 凸函数的收敛率

一般凸函数(Lipschitz连续):

取最优步长 ,得 收敛率。

强凸函数:设 -强凸,即 凸。

,则:

收敛率为 ,即线性收敛

条件数的影响

收敛速度依赖于条件数 。条件数越大,收敛越慢。这解释了为什么预处理(preconditioning)可以加速优化。

4.3 非凸函数的收敛性

对于非凸函数,梯度下降保证:

  • 梯度范数收敛到0:
  • 收敛到稳定点(梯度为零的点),不一定是全局最优

在深度学习中,损失函数是非凸的,但梯度下降仍能有效找到好的局部最优解(实践中往往也接近全局最优)。


五、一阶与二阶优化方法

5.1 一阶方法

动量法(Momentum):

动量累积历史梯度方向,加速收敛并减少震荡。Nesterov动量更激进:

Adam(Adaptive Moment Estimation):

Adam自动调整每个参数的学习率,在实践中效果极佳。

5.2 二阶方法

牛顿法

牛顿法的收敛率:对于强凸函数,达到 (二次收敛),远超线性收敛。

但牛顿法的问题:

  1. 需要计算和存储Hessian矩阵( 存储)
  2. 需要求解Hessian线性系统( 计算)
  3. Hessian可能不正定

拟牛顿法:用低秩矩阵逼近Hessian或其逆:

  • BFGS:逼近Hessian
  • L-BFGS:限制记忆的BFGS变体
  • OWL-QN:用于L1正则化问题

5.3 约束优化的投影方法

投影梯度法

其中 是到凸集 的投影。

对于简单约束(如箱约束 ),投影有闭式解:


六、Frank-Wolfe算法

6.1 算法描述

Frank-Wolfe算法(也称条件梯度法)是处理线性约束凸优化问题的投影自由方法:

初始化

迭代

  1. 线性最小化子问题:求解
  2. 步长计算(或线搜索)
  3. 更新

6.2 与投影梯度法的对比

Frank-Wolfe的优势

  • 投影自由:只需解决线性最小化,而非投影到复杂集合
  • 是多面体时,线性最小化可能比投影更高效
  • 稀疏解:解天然是原子的凸组合

Frank-Wolfe的劣势

  • 收敛速度较慢: 而非
  • 对于非多面体约束集合,线性最小化可能仍困难

SVM与Frank-Wolfe

支持向量机的对偶问题可以用Frank-Wolfe求解。线性最小化子问题退化为寻找支持向量,复杂度与活跃约束数成正比。

6.3 收敛性分析

对于强凸目标函数 ,Frank-Wolfe达到 的收敛率:

其中 是与函数曲率相关的常数。

条件梯度滑动(Conditional Gradient Sliding)结合了Frank-Wolfe与Nesterov加速的思想,可以达到更好的收敛率。


参考文献

  1. Boyd, S., & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press.
  2. Nesterov, Y. (2018). Lectures on Convex Optimization (2nd ed.). Springer.
  3. Bertsekas, D. P. (1999). Nonlinear Programming (2nd ed.). Athena Scientific.
  4. Rockafellar, R. T. (1970). Convex Analysis. Princeton University Press.
  5. Bottou, L., Curtis, F. E., & Nocedal, J. (2018). Optimization Methods for Large-Scale Machine Learning. SIAM Review, 60(2), 223-311.

相关文档