第一章:基础理论

14037 字
70 分钟
第一章:基础理论
文章摘要

优化问题的建模与分类、凸集与凸函数、最优性条件、约束优化的三种等价形式、收敛性与收敛速度。

最优化理论与算法是人工智能和机器学习的数学基础。本章建立全书所需的理论框架:从优化问题的数学建模出发,首先给出统一的问题形式和分类体系;然后系统讨论凸集与凸函数——这是整个优化理论中最核心的结构性概念,凸性的存在与否从根本上决定了问题的求解难度和算法行为;在此基础上,推导无约束问题的最优性条件,建立”何时已到达最优”的判据;继而将约束优化问题转化为变分不等式、零包含和投影方程三种等价形式,为后续各类算法的设计提供理论入口;最后引入收敛性和收敛速度的概念,为衡量优化算法的效率建立统一标尺。

本章的内容贯穿全书。凸函数的性质将在第二章的算子理论中被进一步推广;最优性条件和投影方程分别构成第三章梯度下降法与第四章投影梯度法的理论起点;零包含形式则直接导向第五章的邻近算法和第六章的对偶方法与 ADMM。收敛速度的分类框架将在每一章算法分析中反复使用。


1.1 优化问题的基本模型#

最优化问题可以统一表述为:

minxf(x)s.t.xΩ\min_{x} f(x) \quad \text{s.t.} \quad x \in \Omega

其中:

  • f:RnRf: \mathbb{R}^n \to \mathbb{R} 称为目标函数(objective function),也叫成本函数(cost function);
  • xRnx \in \mathbb{R}^n 称为决策变量
  • Ω\Omega 称为可行域(feasible region)。

可行域 Ω\Omega 通常由等式约束和不等式约束联合定义:

Ω:={xRn  |  ci(x)=0,  iI;cj(x)0,  jJ}\Omega := \left\{ x \in \mathbb{R}^n \;\middle|\; c_i(x) = 0,\; i \in \mathcal{I};\quad c_j(x) \geq 0,\; j \in \mathcal{J} \right\}

其中 I\mathcal{I}J\mathcal{J} 是指标集,分别标识等式约束和不等式约束。

上述模型以求最小值的形式给出。对于极大化问题,只需将目标函数取负:maxxf(x)minx[f(x)]\max_x f(x) \Leftrightarrow \min_x [-f(x)],可行域不变。

1.1.1 有约束与无约束#

最直观的划分是按有无约束分类:

  • 有约束优化Ω\Omega 包含等式或不等式约束;
  • 无约束优化Ω=Rn\Omega = \mathbb{R}^n,不对 xx 施加任何限制。

无约束问题更易求解,因此将有约束问题转化为无约束问题是一个基本策略。一个关键工具是指示函数(indicator function):

ιΩ(x):={0,xΩ+,xΩ\iota_\Omega(x) := \begin{cases} 0, & x \in \Omega \\ +\infty, & x \notin \Omega \end{cases}

指示函数的值只有两种可能:要么为零,要么为正无穷。它的作用是用”无穷大惩罚”来编码约束:当 xx 落在可行域内时,ιΩ(x)=0\iota_\Omega(x) = 0,不影响目标函数;当 xx 越界时,ιΩ(x)=+\iota_\Omega(x) = +\infty,使目标值趋于正无穷,自然被最小化过程排除。利用指示函数,约束优化问题等价转化为:

minx  f(x)+ιΩ(x)\min_x \; f(x) + \iota_\Omega(x)

这个等价变换看似简单,却有深远的理论意义。指示函数将在 1.4 节的零包含形式中再次出现——它的次微分恰好给出法锥的概念,从而将约束信息编码进算子语言。指示函数本身不可微(在边界处有跳跃),但它是凸函数(当 Ω\Omega 为凸集时),因此可以在非光滑凸优化的框架下处理。

1.1.2 广义实值函数与适当函数#

指示函数的值域包含 ++\infty,这提示我们需要在更广的框架下讨论函数。定义广义实数空间 Rˉ=R{,+}\bar{\mathbb{R}} = \mathbb{R} \cup \{-\infty, +\infty\},从 Rn\mathbb{R}^nRˉ\bar{\mathbb{R}} 的映射称为广义实值函数

并非所有广义实值函数都适合做优化:若函数恒取 ++\infty 则无法求最小值,若在某点取 -\infty 则最小值不存在。适当函数(proper function)排除了这两种病态情形:

f:RnRˉf: \mathbb{R}^n \to \bar{\mathbb{R}}X\mathcal{X} 为非空集合。若 xX\exists\, x \in \mathcal{X} 使得 f(x)<+f(x) < +\infty,且 xX\forall\, x \in \mathcal{X} 均有 f(x)>f(x) > -\infty,则称 ff 关于 X\mathcal{X}适当的

第一个条件保证函数在某处有有限值(有地方可以”站”),第二个条件排除负无穷(最小值不会掉到无底洞里)。函数的有效定义域domf:={xRnf(x)<+}\text{dom}\,f := \{x \in \mathbb{R}^n \mid f(x) < +\infty\},即去掉函数值为 ++\infty 的那些点后的定义域。后续讨论中,除非特别说明,所有函数均假定满足适当性条件。

1.1.3 优化问题的分类体系#

优化问题的分类维度很多,以下是最常用的几种,它们从不同角度刻画问题的结构和求解难度。

按变量类型:

  • 连续优化:决策变量取连续值,可行域是 Rn\mathbb{R}^n 的连续子集。
  • 离散优化:决策变量取离散值,如 0-1 规划、整数规划。
  • 混合优化:既有连续变量又有离散变量。

连续优化中,目标函数和约束函数的连续性使得我们可以从一个点的局部信息(梯度、Hessian)来推断邻域的行为,从而指导搜索方向。离散优化不具备这种性质,通常比连续优化更难求解。本书主要讨论连续优化问题。

按目标函数与约束的线性性:

  • 线性规划(Linear Programming):目标函数和所有约束条件均为线性的。模型简单,求解成熟(如单纯形法、内点法)。
  • 非线性规划:目标函数或约束中至少有一个是非线性的。其中二次规划(Quadratic Programming, QP)是重要的特例——目标函数为二次型 12xAx+bx\frac{1}{2}x^\top A x + b^\top x,约束条件为线性,SVM 的对偶问题就是一个典型的二次规划。

按光滑性:

  • 光滑优化:目标函数和约束条件都连续可导(通常要求至少一阶连续可微)。
  • 非光滑优化:至少有一个不可导。1\ell_1 正则化中的绝对值函数、ReLU 激活函数在原点处不可导,都属于非光滑问题。非光滑问题的梯度不存在,需要次梯度等替代工具,第五章将详细讨论。

按凸性(最核心的分类):

  • 凸优化:目标函数 ff 是凸函数,且可行域 Ω\Omega 是凸集。
  • 非凸优化:上述两个条件至少有一个不满足。

凸优化的核心性质是局部最优点就是全局最优点(定理的严格陈述见 1.3 节)。这意味着只要找到任何一个局部最优解,就已经是全局最优的——不必担心陷在某个局部最小值里。深度学习中的训练问题几乎都是非凸的,局部最优不保证全局最优,但实践中发现局部最优往往已经足够好。对非凸问题的收敛性分析,一个常用的理论工具是 KL 条件(Kurdyka-Lojasiewicz condition),它为一大类非凸问题提供了收敛性保证。


凸性是上述分类中最关键的结构性概念。下面系统建立凸集与凸函数的理论。

1.2 凸集与凸函数#

1.2.1 凸集#

基本定义#

集合 CRnC \subseteq \mathbb{R}^n 称为凸集,如果对任意 x1,x2Cx_1, x_2 \in Cθ[0,1]\theta \in [0, 1],都有

θx1+(1θ)x2C\theta x_1 + (1-\theta)x_2 \in C

几何含义非常直观:集合中任意两点的连线段仍然完全落在集合内部。一个没有凹陷的区域就是凸集,反过来,像月牙形这样有内凹的区域就不是——总能找到两个点,它们之间的连线会穿出集合。

一个比凸集更强的概念是仿射集:不仅线段在集合内,过两点的整条直线也在集合内。仿射集的典型例子是线性方程组 Ax=bAx = b 的解集。所有仿射集都是凸集,反过来不成立。

凸组合与凸包#

两个点的凸组合 θx1+(1θ)x2\theta x_1 + (1-\theta)x_2 可以推广到有限个点。称

x=i=1kθixi,θi0,  i=1kθi=1x = \sum_{i=1}^k \theta_i x_i, \quad \theta_i \geq 0,\; \sum_{i=1}^k \theta_i = 1

x1,,xkx_1, \ldots, x_k凸组合。系数非负且和为 1,这两个条件缺一不可——非负保证不会”跑到点的外侧”,和为 1 保证结果是”加权平均”而非缩放。

集合 SS 中所有点的一切凸组合构成的集合称为 SS凸包 convS\text{conv}\,S,它是包含 SS 的最小凸集。形象地说,把一堆散落的点用一根橡皮筋紧紧围住,围出的区域就是凸包。凸组合在机器学习中广泛出现:集成模型的加权平均、混合高斯的分量权重、mixup 数据增强,本质上都是凸组合。

若在凸组合中去掉 θi0\theta_i \geq 0 的限制(只保留和为 1),就得到仿射组合;若去掉和为 1 的限制(只保留非负),系数为正的线性组合 θ1x1+θ2x2\theta_1 x_1 + \theta_2 x_2θ1,θ2>0\theta_1, \theta_2 > 0)称为锥组合,对锥组合封闭的集合称为凸锥

常见的凸集#

以下几类凸集在优化建模中反复出现,值得逐一认识。

超平面与半空间。 给定非零向量 aRna \in \mathbb{R}^n 和常数 bb,集合 {xax=b}\{x \mid a^\top x = b\} 是一个超平面,它将 Rn\mathbb{R}^n 分为两半。超平面的一侧 {xaxb}\{x \mid a^\top x \leq b\} 称为半空间。线性约束 wxcw^\top x \leq c 在几何上就是要求解落在某个半空间内。多个线性约束同时满足的区域——即有限个半空间和超平面的交集——称为多面体 {xAxb,Cx=d}\{x \mid Ax \leq b,\, Cx = d\},这正是线性规划的可行域。

范数球。 对任意范数 \|\cdot\|,集合 {xxxcr}\{x \mid \|x - x_c\| \leq r\} 是以 xcx_c 为中心、rr 为半径的范数球,它是凸集。当范数取 2\ell_2 时是通常的圆球;取 1\ell_1 时球的形状变成菱形(二维)或超正八面体(高维);取 \ell_\infty 时变成超立方体。正则化约束 wλ\|w\| \leq \lambda 在几何上就是将参数限制在相应的范数球内,不同范数对应不同形状的约束区域,这也是 1\ell_1 正则化能产生稀疏解而 2\ell_2 不能的几何原因——1\ell_1 球的”尖角”更容易与目标函数的等高线相切于坐标轴上。

椭球。 形如 {x(xxc)P1(xxc)1}\{x \mid (x - x_c)^\top P^{-1}(x - x_c) \leq 1\} 的集合,其中 PP 是对称正定矩阵。PP 的特征值决定椭球各轴方向的半径。当 P=r2IP = r^2 I 时退化为球。协方差矩阵的置信椭球就是这种形式。

半正定锥。 所有 n×nn \times n 半正定矩阵的集合 S+n={XSnX0}\mathcal{S}_+^n = \{X \in \mathcal{S}^n \mid X \succeq 0\}。这里 X0X \succeq 0 表示 XX 的所有特征值非负,等价于对任意向量 vv 都有 vXv0v^\top X v \geq 0。核矩阵、协方差矩阵、图的 Laplacian 矩阵都需要满足半正定性。S+n\mathcal{S}_+^n 是一个凸锥——两个半正定矩阵的正系数线性组合仍然半正定。以半正定锥为可行域的优化问题称为半定规划(SDP)。

概率单纯形。 Δn={xRnxi0,ixi=1}\Delta_n = \{x \in \mathbb{R}^n \mid x_i \geq 0,\, \sum_i x_i = 1\},即所有离散概率分布的集合。它是半空间 {xi0}\{x_i \geq 0\} 和超平面 {xi=1}\{\sum x_i = 1\} 的交集,因此是凸集(实际上是一个多面体)。

保凸运算#

直接用定义验证凸性有时很繁琐。更高效的方法是将目标集合表示为简单凸集经过保凸运算的组合。两条最基本的保凸规则:

交集保凸。 任意多个凸集的交集仍为凸集。这个性质非常实用——意味着可以任意叠加凸约束,得到的可行域依然是凸集。前面提到的多面体(半空间的交集)和概率单纯形(半空间与超平面的交集)都是这条规则的应用。

仿射变换保凸。 凸集经过仿射变换 f(x)=Ax+bf(x) = Ax + b 后仍为凸集;反过来,凸集在仿射变换下的原像也是凸集。缩放、旋转、平移、投影都是仿射变换的特例。

分离超平面定理#

凸集有一个深刻的几何性质:两个不相交的凸集之间总能找到一个超平面将它们分隔在两侧。

定理。C,DC, D 是两个不相交的凸集,则存在非零向量 aa 和常数 bb,使得

axb,  xCaxb,  xDa^\top x \leq b,\; \forall x \in C \qquad \text{且} \qquad a^\top x \geq b,\; \forall x \in D

这个定理的重要性在于它连接了几何和代数:凸集的可分性(几何性质)保证了线性不等式描述(代数工具)的存在性。SVM 的最大间隔超平面就是分离超平面定理的直接应用;第六章将看到,拉格朗日对偶理论的弱对偶性本质上也是在用超平面分离目标函数的上镜图。

CC 是闭凸集、x0Cx_0 \notin C 是集合外一点时,可以得到严格分离。当 x0x_0 恰好在 CC 的边界上时,存在经过 x0x_0支撑超平面,使整个 CC 位于该超平面的一侧。支撑超平面的存在性与约束优化中 KKT 条件的成立密切相关。

1.2.2 凸函数的定义#

ff 为适当函数且 domf\text{dom}\,f 为凸集。若对任意 x,ydomfx, y \in \text{dom}\,fθ[0,1]\theta \in [0, 1]

f(θx+(1θ)y)θf(x)+(1θ)f(y)f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y)

则称 ff凸函数。这个不等式的几何含义是:函数图像上任意两点的连线段(即 ff 在这两点的线性插值)总位于曲线的上方。函数”弓起来”,而不是”塌下去”。

用定义判定凸性在低维时可行,但对高维函数往往难以操作——需要验证所有可能的 x,yx, yθ\theta。以下定理将凸性判定降维为一维问题,极大地简化了验证过程。

定理(限制在直线上). ff 是凸函数,当且仅当对任意 xdomfx \in \text{dom}\,f 和任意方向 vRnv \in \mathbb{R}^n,一元函数 g(t)=f(x+tv)g(t) = f(x + tv)(定义在 {tx+tvdomf}\{t \mid x + tv \in \text{dom}\,f\} 上)是凸函数。

几何上,x+tvx + tv 表示过点 xx、沿方向 vv 的直线。定理说的是:ff 在整个定义域上是凸的,等价于 ff 限制在任意一条直线上都是凸的。高维的凸性判定因此被归结为一族一维凸性判定。

证明. 必要性:取 t1,t2domgt_1, t_2 \in \text{dom}\,g,由 x+t1v,x+t2vdomfx + t_1 v, x + t_2 v \in \text{dom}\,fdomf\text{dom}\,f 凸,其凸组合 x+(θt1+(1θ)t2)vdomfx + (\theta t_1 + (1-\theta)t_2)v \in \text{dom}\,f,故 domg\text{dom}\,g 是凸集。凸函数不等式直接由 ff 的凸性得到:g(θt1+(1θ)t2)=f(θ(x+t1v)+(1θ)(x+t2v))θf(x+t1v)+(1θ)f(x+t2v)=θg(t1)+(1θ)g(t2)g(\theta t_1 + (1-\theta)t_2) = f(\theta(x+t_1 v) + (1-\theta)(x+t_2 v)) \leq \theta f(x+t_1 v) + (1-\theta)f(x+t_2 v) = \theta g(t_1) + (1-\theta)g(t_2)

充分性:令 t1=0t_1 = 0t2=1t_2 = 1v=yxv = y - x,则 g(t)=f(x+t(yx))g(t) = f(x + t(y-x))。由 gg 的凸性得 g(1θ)θg(0)+(1θ)g(1)=θf(x)+(1θ)f(y)g(1-\theta) \leq \theta g(0) + (1-\theta)g(1) = \theta f(x) + (1-\theta)f(y),而 g(1θ)=f(θx+(1θ)y)g(1-\theta) = f(\theta x + (1-\theta)y),即得凸函数定义。\square

常见凸函数的判定实例。 以下函数的凸性可以通过限制到直线上来验证,也可以直接计算 Hessian(见 1.2.3 节的二阶条件)。对其中两个给出完整验证过程,以示方法。

  • f(x)=xpf(x) = \|x\|_pp1p \geq 1):所有 p1p \geq 1 的范数都是凸函数。特别地,1\ell_1 范数 x1=ixi\|x\|_1 = \sum_i |x_i|2\ell_2 范数 x2\|x\|_2 均凸。

    1\ell_1 范数的凸性验证。 每个分量函数 xi|x_i| 是凸函数(由三角不等式 θa+(1θ)bθa+(1θ)b|\theta a + (1-\theta)b| \leq \theta|a| + (1-\theta)|b| 直接验证),而凸函数的非负线性组合仍是凸函数(系数全为 1),因此 x1=ixi\|x\|_1 = \sum_i |x_i| 是凸函数。也可以从三角不等式的角度理解:θx+(1θ)y1=iθxi+(1θ)yii[θxi+(1θ)yi]=θx1+(1θ)y1\|\theta x + (1-\theta)y\|_1 = \sum_i |\theta x_i + (1-\theta)y_i| \leq \sum_i [\theta|x_i| + (1-\theta)|y_i|] = \theta\|x\|_1 + (1-\theta)\|y\|_1,恰好是凸函数的定义。

  • f(x)=max(x1,,xn)f(x) = \max(x_1, \ldots, x_n):逐点最大值函数是凸的。对任意一条直线 g(t)=maxi(ai+bit)g(t) = \max_i (a_i + b_i t),是分段线性函数,因此凸。

  • f(X)=logdetXf(X) = -\log\det XX0X \succ 0):定义在正定矩阵集上,是严格凸函数。该函数作为 log-det 正则项出现在稀疏逆协方差估计(graphical lasso)中。

  • f(x)=eaxf(x) = e^{a^\top x}:仿射函数的指数,限制到任意直线上是 ect+de^{ct+d}(指数函数),凸。

  • f(x)=log(iexi)f(x) = \log(\sum_i e^{x_i})(log-sum-exp):这是 softmax 的”前身”,是凸函数,且是 max\max 函数的光滑近似。

    log-sum-exp 的凸性验证。 通过验证 Hessian 半正定来证明。记 pi=exi/jexjp_i = e^{x_i}/\sum_j e^{x_j}(即 softmax 输出,满足 pi>0p_i > 0ipi=1\sum_i p_i = 1),则梯度为 [f(x)]i=pi[\nabla f(x)]_i = p_i,Hessian 为 2f(x)=diag(p)pp\nabla^2 f(x) = \text{diag}(p) - pp^\top。对任意向量 vv

v2f(x)v=vdiag(p)v(pv)2=ipivi2(ipivi)2v^\top \nabla^2 f(x)\,v = v^\top \text{diag}(p)\,v - (p^\top v)^2 = \sum_i p_i v_i^2 - \left(\sum_i p_i v_i\right)^2

右端恰好是随机变量 VV(取值 viv_i,概率 pip_i)的方差 Var(V)=E[V2](E[V])2\text{Var}(V) = \mathbb{E}[V^2] - (\mathbb{E}[V])^2,由方差的非负性(或 Cauchy-Schwarz 不等式 (ipivi)2ipiipivi2=ipivi2(\sum_i p_i v_i)^2 \leq \sum_i p_i \cdot \sum_i p_i v_i^2 = \sum_i p_i v_i^2)知 v2f(x)v0v^\top \nabla^2 f(x)\,v \geq 0。因此 Hessian 处处半正定,ff 是凸函数。

1.2.3 凸函数的三个等价条件#

对可微凸函数 f:RnRf: \mathbb{R}^n \to \mathbb{R},以下三个条件两两等价,分别用零阶、一阶和二阶信息来刻画凸性。

一阶条件(最常用):

f(y)f(x)+f(x)(yx),x,ydomff(y) \geq f(x) + \nabla f(x)^\top (y - x), \quad \forall\, x, y \in \text{dom}\,f

右端 f(x)+f(x)(yx)f(x) + \nabla f(x)^\top(y - x)ffxx 处的一阶 Taylor 近似,几何上对应过点 (x,f(x))(x, f(x)) 的切超平面。一阶条件说的是:凸函数在任意一点的切超平面总位于函数图像的下方,切平面从下方”支撑”整个函数。这意味着一阶 Taylor 展开始终是凸函数的全局下估计——这个性质在后续章节中被反复利用,例如梯度下降法每一步实际上就是在最小化一个切平面加二次惩罚项的组合。

梯度单调性:

(f(y)f(x))(yx)0,x,ydomf(\nabla f(y) - \nabla f(x))^\top (y - x) \geq 0, \quad \forall\, x, y \in \text{dom}\,f

f\nabla f单调映射:沿任意方向移动时,梯度在该方向上的分量不会减小。直观地说,凸函数越往右走坡越陡(或至少不变),不会出现”先上坡再下坡再上坡”的振荡行为。

二阶条件:

2f(x)0,xdomf\nabla^2 f(x) \succeq 0, \quad \forall\, x \in \text{dom}\,f

即 Hessian 矩阵处处半正定。Hessian 的特征值反映了函数在各方向上的曲率,半正定意味着所有方向的曲率都非负——函数在任何方向上都不会”向下弯”。

证明概要.

一阶条件的充分性:令 z=θx+(1θ)yz = \theta x + (1-\theta)y,对 xxyy 分别用一阶条件:f(x)f(z)+f(z)(xz)f(x) \geq f(z) + \nabla f(z)^\top(x - z)f(y)f(z)+f(z)(yz)f(y) \geq f(z) + \nabla f(z)^\top(y - z)。第一式乘 θ\theta,第二式乘 1θ1-\theta 后相加,右端 f(z)\nabla f(z)^\top 的系数恰好为零(θ(xz)+(1θ)(yz)=0\theta(x-z) + (1-\theta)(y-z) = 0),得 θf(x)+(1θ)f(y)f(z)\theta f(x) + (1-\theta)f(y) \geq f(z)。构造之所以奏效,是因为 zz 恰好是 xxyy 的凸组合,使得梯度项在加权平均后消去。

一阶条件的必要性:由凸性得 f(x+t(yx))f(x)+t(f(y)f(x))f(x + t(y-x)) \leq f(x) + t(f(y) - f(x)),移项除以 tt 后令 t0+t \to 0^+,利用极限的保号性和方向导数定义,得 f(y)f(x)f(x)(yx)f(y) - f(x) \geq \nabla f(x)^\top(y-x)

梯度单调性:由一阶条件对 (x,y)(x, y)(y,x)(y, x) 分别写出不等式后相加即得。充分性的证明如下。令 g(t)=f(x+t(yx))g(t) = f(x + t(y-x)),则 g(t)=f(x+t(yx))(yx)g'(t) = \nabla f(x + t(y-x))^\top(y-x)。由梯度单调性可知 g(t)g'(t) 关于 tt 单调不减:对 0st10 \leq s \leq t \leq 1,取 u=x+s(yx)u = x + s(y-x)w=x+t(yx)w = x + t(y-x),则 wu=(ts)(yx)w - u = (t-s)(y-x),梯度单调性给出

g(t)g(s)=(f(w)f(u))(yx)=1ts(f(w)f(u))(wu)0g'(t) - g'(s) = (\nabla f(w) - \nabla f(u))^\top(y-x) = \frac{1}{t-s}(\nabla f(w) - \nabla f(u))^\top(w-u) \geq 0

因此 g(t)g(0)g'(t) \geq g'(0) 对所有 t[0,1]t \in [0, 1] 成立。由 Newton-Leibniz 公式:

f(y)f(x)=g(1)g(0)=01g(t)dt01g(0)dt=g(0)=f(x)(yx)f(y) - f(x) = g(1) - g(0) = \int_0^1 g'(t)\,dt \geq \int_0^1 g'(0)\,dt = g'(0) = \nabla f(x)^\top(y-x)

这就还原了一阶条件。

二阶条件:必要性用反证法——若 2f(x)\nabla^2 f(x^*) 存在负特征值 λ\lambda 对应特征向量 dd,则 Taylor 展开在 tt 充分小时给出 f(x+td)<f(x)f(x^* + td) < f(x^*),与一阶条件矛盾。充分性由 Taylor 展开加 Hessian 半正定得到非负余项,从而推出一阶条件。\square

优化中常用的三种 Taylor 展开形式: (1) Hessian 余项形式:f(x+p)=f(x)+f(x)p+12p2f(x+tp)pf(x + p) = f(x) + \nabla f(x)^\top p + \frac{1}{2}p^\top \nabla^2 f(x + tp)\,pt(0,1)t \in (0, 1);(2) 一阶余项形式:f(x+p)=f(x)+f(x+tp)pf(x + p) = f(x) + \nabla f(x + tp)^\top pt(0,1)t \in (0, 1);(3) 积分形式:f(x+p)=f(x)+012f(x+tp)pdt\nabla f(x + p) = \nabla f(x) + \int_0^1 \nabla^2 f(x + tp)\,p\,dt。这三种形式在后续各章的收敛性证明中反复使用。

1.2.4 凸函数的分类#

凸函数按”凸的程度”可分为四类,从弱到强依次为弱凸、凸、严格凸和强凸。它们的差异主要体现在最优解的唯一性和优化算法的收敛速度上。

凸函数(Convex). 基本定义如上。一阶条件:f(y)f(x)+f(x)(yx)f(y) \geq f(x) + \nabla f(x)^\top(y - x)

严格凸函数(Strictly Convex). 在凸函数定义的基础上将不等号取严格:对任意 xydomfx \neq y \in \text{dom}\,f

f(y)>f(x)+f(x)(yx)f(y) > f(x) + \nabla f(x)^\top(y - x)

等价的严格单调性:(f(y)f(x))(yx)>0(\nabla f(y) - \nabla f(x))^\top(y - x) > 0xy\forall\, x \neq y。严格凸函数的切平面严格位于函数下方(除了切点本身),因此如果最优解存在,则必然唯一——否则两个不同的最优解之间的凸组合会给出更小的函数值。

Hessian 正定是严格凸的充分条件,但非必要。反例:f(x1,x2)=x14+x24f(x_1, x_2) = x_1^4 + x_2^4 是严格凸的,但在原点处 2f(0)=0\nabla^2 f(0) = 0(零矩阵),不正定。

强凸函数(Strongly Convex). 强凸性比严格凸性更强,它给出了函数图像与切平面之间间距的定量下界:

f(y)f(x)+f(x)(yx)+μ2yx2,μ>0f(y) \geq f(x) + \nabla f(x)^\top(y - x) + \frac{\mu}{2}\|y - x\|^2, \quad \mu > 0

其中 μ\mu 称为强凸参数(或强凸系数)。这个不等式称为二次下界:函数不仅在切平面上方,还至少高出一个开口大小为 μ\mu 的二次函数。μ\mu 越大,函数在最小值点附近弯曲得越厉害。

强凸函数有一个等价的定义形式,有时更便于验证:ffμ\mu-强凸函数当且仅当 g(x)=f(x)μ2x2g(x) = f(x) - \frac{\mu}{2}\|x\|^2 是凸函数。直观地说,从 ff 中减去一个开口为 μ\mu 的抛物线之后仍然是凸的,说明 ff 本身至少有 μ\mu 的曲率。

等价性证明. 我们证明一个方向(另一个方向类似)。设 ffμ\mu-强凸的,验证 g(x)=f(x)μ2x2g(x) = f(x) - \frac{\mu}{2}\|x\|^2 满足凸性定义。由凸组合形式的强凸定义(见下方),

f(θx+(1θ)y)θf(x)+(1θ)f(y)μ2θ(1θ)xy2f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y) - \frac{\mu}{2}\theta(1-\theta)\|x - y\|^2

另一方面,利用范数平方的凸组合恒等式:

θx+(1θ)y2=θx2+(1θ)y2θ(1θ)xy2\|\theta x + (1-\theta)y\|^2 = \theta\|x\|^2 + (1-\theta)\|y\|^2 - \theta(1-\theta)\|x - y\|^2

将两式代入 gg 的定义:

g(θx+(1θ)y)=f(θx+(1θ)y)μ2θx+(1θ)y2g(\theta x + (1-\theta)y) = f(\theta x + (1-\theta)y) - \frac{\mu}{2}\|\theta x + (1-\theta)y\|^2
[θf(x)+(1θ)f(y)μ2θ(1θ)xy2]μ2[θx2+(1θ)y2θ(1θ)xy2]\leq \left[\theta f(x) + (1-\theta)f(y) - \frac{\mu}{2}\theta(1-\theta)\|x-y\|^2\right] - \frac{\mu}{2}\left[\theta\|x\|^2 + (1-\theta)\|y\|^2 - \theta(1-\theta)\|x-y\|^2\right]

右端的 μ2θ(1θ)xy2-\frac{\mu}{2}\theta(1-\theta)\|x-y\|^2 项恰好与 +μ2θ(1θ)xy2+\frac{\mu}{2}\theta(1-\theta)\|x-y\|^2 项相消,得到

g(θx+(1θ)y)θ[f(x)μ2x2]+(1θ)[f(y)μ2y2]=θg(x)+(1θ)g(y)g(\theta x + (1-\theta)y) \leq \theta\left[f(x) - \frac{\mu}{2}\|x\|^2\right] + (1-\theta)\left[f(y) - \frac{\mu}{2}\|y\|^2\right] = \theta g(x) + (1-\theta)g(y)

gg 是凸函数。\square

还有一个直接从凸组合角度出发的等价定义:对任意 x,ydomfx, y \in \text{dom}\,fθ(0,1)\theta \in (0, 1)

f(θx+(1θ)y)θf(x)+(1θ)f(y)μ2θ(1θ)xy2f(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y) - \frac{\mu}{2}\theta(1-\theta)\|x - y\|^2

这个形式在证明最优解唯一性时特别方便。

等价的强单调性:(f(y)f(x))(yx)μyx2(\nabla f(y) - \nabla f(x))^\top(y - x) \geq \mu\|y - x\|^2。二阶条件:2f(x)μI0\nabla^2 f(x) \succeq \mu I \succ 0

强凸函数的重要性质可以概括为两点。

第一,最优解唯一

命题.ffμ\mu-强凸函数且存在最小值,则最小值点唯一。

证明. 反证法。设 xyx \neq y 都是 ff 的最小值点,即 f(x)=f(y)=ff(x) = f(y) = f^*。取 θ(0,1)\theta \in (0, 1),由凸组合等价定义:

f(θx+(1θ)y)θf(x)+(1θ)f(y)μ2θ(1θ)xy2=fμ2θ(1θ)xy2<ff(\theta x + (1-\theta)y) \leq \theta f(x) + (1-\theta)f(y) - \frac{\mu}{2}\theta(1-\theta)\|x - y\|^2 = f^* - \frac{\mu}{2}\theta(1-\theta)\|x - y\|^2 < f^*

最后的严格不等号成立是因为 xyx \neq yμ>0\mu > 0。但这与 ff^* 是最小值矛盾。\square

需要注意的是,ff 存在最小值是前提。强凸函数的全局最小点不一定存在,例如 f(x)=x2f(x) = x^2 定义在开区间 (1,2)(1, 2) 上,ff 是强凸的,但最小值在 x=1x = 1 处取到,而 x=1x = 1 不在定义域内。

第二,强凸函数上的优化算法通常有更快的收敛速度——第三章将证明梯度下降法在强凸问题上达到线性收敛率,而在一般凸问题上只有次线性收敛率(1.5 节将给出具体对比)。在机器学习中,2\ell_2 正则化项 λ2w2\frac{\lambda}{2}\|w\|^2 的一个重要作用就是为目标函数引入强凸性:原始损失函数可能只是凸的,加上 2\ell_2 正则化后变成 λ\lambda-强凸的。岭回归(ridge regression)minx12Axb2+λ2x2\min_x \frac{1}{2}\|Ax - b\|^2 + \frac{\lambda}{2}\|x\|^2 的目标函数就是强凸的,正则项不仅防止过拟合,还改善了优化问题的条件数。

性质. 凸函数 ++ 强凸函数 == 强凸函数。更一般地,若 ffμ\mu-强凸的,gg 是凸的,则 f+gf + gμ\mu-强凸的。

例. f(x)=12xAx+bxf(x) = \frac{1}{2}x^\top A x + b^\top x,其中 AA 对称正定,最小特征值为 λmin(A)>0\lambda_{\min}(A) > 0。则 2f(x)=Aλmin(A)I\nabla^2 f(x) = A \succeq \lambda_{\min}(A)\,I,因此 ffλmin(A)\lambda_{\min}(A)-强凸的。

弱凸函数(Weakly Convex). 如果 ff 本身可能不凸,但加上足够强的二次项后能变成凸函数:

f(x)+ρ2x2  是凸函数f(x) + \frac{\rho}{2}\|x\|^2 \;\text{是凸函数}

则称 ffρ\rho-弱凸函数。弱凸函数本身不一定是凸的——它只是”偏离凸性”不太远,通过添加二次正则项就能”修复”为凸。非凸损失函数中有不少满足弱凸性,这使得近端梯度法等凸优化算法经过适当修改后仍然可用。

四类凸函数的蕴含关系:强凸 \Rightarrow 严格凸 \Rightarrow 凸。弱凸与前三者不构成蕴含关系——弱凸函数可能根本不是凸函数。在实际使用中,凸函数、严格凸函数和强凸函数最为常用。

1.2.5 LL-光滑性#

强凸性给出了函数曲率的下界(至少弯曲 μ\mu),与之对偶的概念是 LL-光滑性,它给出了曲率的上界(至多弯曲 LL)。两者合在一起为函数提供了一个”曲率范围” [μ,L][\mu, L],这个范围直接决定了梯度下降法的收敛速度。

定义. 可微函数 ff 称为梯度 LL-Lipschitz 连续的(简称 LL-光滑的),如果存在 L>0L > 0,使得对任意 x,ydomfx, y \in \text{dom}\,f

f(x)f(y)Lxy\|\nabla f(x) - \nabla f(y)\| \leq L\|x - y\|

这个条件控制了梯度变化的剧烈程度:当自变量移动 xy\|x - y\| 时,梯度的变化不超过 LxyL\|x - y\|LL 越大,函数越”颠簸”;LL 越小,函数越”平缓”。对于二阶可微的函数,LL-光滑性等价于 2f(x)LI\nabla^2 f(x) \preceq LI,即 Hessian 的所有特征值不超过 LL

LL-光滑性的核心推论是二次上界

引理(二次上界). 设可微函数 ff 的定义域 domf=Rn\text{dom}\,f = \mathbb{R}^n,且为梯度 LL-Lipschitz 连续的,则

f(y)f(x)+f(x)(yx)+L2yx2,x,ydomff(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2, \quad \forall\, x, y \in \text{dom}\,f

证明. 构造辅助函数 g(t)=f(x+t(yx))g(t) = f(x + t(y - x))t[0,1]t \in [0, 1]。则 g(0)=f(x)g(0) = f(x)g(1)=f(y)g(1) = f(y)g(t)=f(x+t(yx))(yx)g'(t) = \nabla f(x + t(y-x))^\top(y - x)。由 Newton-Leibniz 公式:

f(y)f(x)f(x)(yx)=01(g(t)g(0))dt=01(f(x+t(yx))f(x))(yx)dtf(y) - f(x) - \nabla f(x)^\top(y-x) = \int_0^1 (g'(t) - g'(0))\,dt = \int_0^1 (\nabla f(x + t(y-x)) - \nabla f(x))^\top(y-x)\,dt

对被积函数用 Cauchy-Schwarz 不等式和梯度 Lipschitz 条件:

(f(x+t(yx))f(x))(yx)f(x+t(yx))f(x)yxLtyx2|(\nabla f(x + t(y-x)) - \nabla f(x))^\top(y-x)| \leq \|\nabla f(x + t(y-x)) - \nabla f(x)\| \cdot \|y-x\| \leq Lt\|y-x\|^2

因此 f(y)f(x)f(x)(yx)01Ltyx2dt=L2yx2f(y) - f(x) - \nabla f(x)^\top(y-x) \leq \int_0^1 Lt\|y-x\|^2\,dt = \frac{L}{2}\|y-x\|^2\square

二次上界意味着 ff 可以被一个二次函数从上方控制——函数的增长速度不会超过二次。这个性质在梯度下降法中至关重要:取步长 η=1/L\eta = 1/L,在 y=x1Lf(x)y = x - \frac{1}{L}\nabla f(x) 处代入二次上界可得 f(y)f(x)12Lf(x)2f(y) \leq f(x) - \frac{1}{2L}\|\nabla f(x)\|^2,保证每步目标值严格下降。

将二次上界与强凸函数的二次下界放在一起,μ\mu-强凸且 LL-光滑的函数在每一点附近被夹在两个二次函数之间:

f(x)+f(x)(yx)+μ2yx2f(y)f(x)+f(x)(yx)+L2yx2f(x) + \nabla f(x)^\top(y - x) + \frac{\mu}{2}\|y - x\|^2 \leq f(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2

左端是二次下界(来自强凸性),右端是二次上界(来自 LL-光滑性)。比值 κ=L/μ\kappa = L/\mu 称为条件数,度量了函数”最陡方向”与”最平方向”之间曲率的差异。条件数越大,函数的等高线越扁(椭球形),梯度下降法的收敛越慢——这正是第三章将详细分析的现象。

二次上界还有一个重要的推论:若 ffLL-光滑的且存在全局最小点 xx^*,则

12Lf(x)2f(x)f(x)\frac{1}{2L}\|\nabla f(x)\|^2 \leq f(x) - f(x^*)

证明只需在二次上界中对 yy 取下确界:f(x)infy{f(x)+f(x)(yx)+L2yx2}f(x^*) \leq \inf_y \{f(x) + \nabla f(x)^\top(y-x) + \frac{L}{2}\|y-x\|^2\},右端在 y=x1Lf(x)y = x - \frac{1}{L}\nabla f(x) 处取到最小值 f(x)12Lf(x)2f(x) - \frac{1}{2L}\|\nabla f(x)\|^2。这个不等式将梯度范数与目标函数的次优性(suboptimality gap)联系起来:梯度越大,离最优越远。它为梯度下降法的收敛性分析提供了关键的中间步骤。

例. f(x)=12xAxf(x) = \frac{1}{2}x^\top AxAA 对称正定,特征值范围 [μ,L][\mu, L]。则 ff 同时是 μ\mu-强凸和 LL-光滑的,条件数 κ=L/μ\kappa = L/\mu。当 AA 的特征值分布很不均匀时(例如 μ=0.01\mu = 0.01L=100L = 100κ=104\kappa = 10^4),函数的等高面是非常扁的椭球,梯度下降法在”短轴”方向上的进展会被”长轴”方向上的振荡严重拖慢。预处理技术(preconditioning)的本质就是通过变量变换来减小条件数。

1.2.6 凸松弛:从非凸到凸#

理解了凸性的层次之后,一个自然的问题是:遇到非凸问题该怎么办?一个常用策略是凸松弛——用凸函数近似替换非凸部分,将问题转化为可高效求解的凸优化问题。松弛后的问题比原问题更容易求解,代价是可能损失一些精度。

例(压缩感知). 已知压缩矩阵 ARm×nA \in \mathbb{R}^{m \times n}nmn \gg m)和观测信号 b=Axb = Ax,要从 bb 恢复稀疏的原始信号 xx。原始问题为:

minx  12Axb22+λx0\min_x \; \frac{1}{2}\|Ax - b\|_2^2 + \lambda \|x\|_0

其中 x0\|x\|_00\ell_0 范数(xx 中非零元素的个数)。前半部分 12Axb22\frac{1}{2}\|Ax - b\|_2^2 展开后为 12xAAxbAx+12bb\frac{1}{2}x^\top A^\top A x - b^\top A x + \frac{1}{2}b^\top b,二次型加线性项,是凸的。但 0\ell_0 范数在 x=0x = 0 处不连续(取值为 0,而在任何非零点取值至少为 1),不连续自然不是凸的。凸加非凸,整体非凸。

1\ell_1 范数(各分量绝对值之和)替代 0\ell_0 范数,得到凸松弛后的问题:

minx  12Axb22+λx1\min_x \; \frac{1}{2}\|Ax - b\|_2^2 + \lambda \|x\|_1

1\ell_1 范数是凸的,所以整个问题变成了凸优化。在一定条件下(如矩阵 AA 满足 RIP 条件),1\ell_1 松弛的解恰好就是原始 0\ell_0 问题的解。代价是 1\ell_1 范数在 xi=0x_i = 0 处不可导,需要非光滑优化工具。类似地,矩阵的秩(非零奇异值个数)是非凸的,其凸松弛是核范数(奇异值之和),广泛用于低秩矩阵恢复。

这体现了优化问题中常见的三难取舍:凸性、光滑性、对原问题的逼近程度,往往不能同时兼得。1\ell_1 正则化问题的求解正是第五章邻近算法的核心应用场景。


有了凸集、凸函数及其分类的理论基础,下面讨论如何判断一个点是否是最优解。

1.3 最优性条件#

1.3.1 解的存在性#

在讨论最优性条件之前,有一个更基本的问题:最优解是否存在?

数学分析中的 Weierstrass 定理给出了经典的回答:定义在紧集(有界闭集)上的连续函数一定存在最大值和最小值。但在很多优化问题中,定义域不是紧集——例如无约束问题的定义域是整个 Rn\mathbb{R}^n,它是无界的。此时 Weierstrass 定理不直接适用。

推广后的 Weierstrass 定理将紧性条件替换为更弱的条件:

定理(Weierstrass 定理的推广).f:X(,+]f: \mathcal{X} \to (-\infty, +\infty] 是适当且闭的函数。若下列三个条件中任一成立:

  1. domf\text{dom}\,f 是有界的;
  2. 存在 γˉ\bar{\gamma} 使得下水平集 {xXf(x)γˉ}\{x \in \mathcal{X} \mid f(x) \leq \bar{\gamma}\} 非空且有界;
  3. ff强制的(coercive),即 x+\|x\| \to +\inftyf(x)+f(x) \to +\infty

ffX\mathcal{X} 上的最小值点集非空且紧。

三个条件在本质上都是保证函数值不能在”无穷远处”取到最小值,从而可以把搜索范围限制在一个有界区域内。条件 3 最常用:强制性意味着函数”向外走就上升”,所以最小值只能在有限的范围内取到。f(x)=x2f(x) = x^2 定义在 R\mathbb{R} 上,虽然定义域无界,但由于 x2+x^2 \to +\infty(强制),全局最小值 x=0x^* = 0 存在。反例 f(x)=exf(x) = e^{-x} 定义在 R\mathbb{R} 上,下确界为 0 但不可达,因为 ff 不是强制的(x+x \to +\inftyf0f \to 0,不趋于 ++\infty)。

对于强凸函数,存在性和唯一性同时得到保证。存在性方面,μ\mu-强凸函数是强制的:由二次下界 f(y)f(x)+f(x)(yx)+μ2yx2f(y) \geq f(x) + \nabla f(x)^\top(y-x) + \frac{\mu}{2}\|y-x\|^2,取 xx 为定义域中的任意固定点,当 y\|y\| \to \infty 时右端以二次速度趋于正无穷,因此 ff 满足 Weierstrass 定理的条件 3。唯一性则由 1.2.4 节中强凸函数的反证法证明保证。

定理中”闭函数”这一条件也值得注意。一个函数是闭的当且仅当它的所有下水平集 {xf(x)α}\{x \mid f(x) \leq \alpha\} 是闭集,对于连续函数这自动成立。闭性的作用是保证下水平集中的极限点仍在下水平集内,从而使下确界可以被取到。

1.3.2 无约束优化的最优性条件#

现在考虑无约束优化问题

minxRnf(x)\min_{x \in \mathbb{R}^n} f(x)

目标是给出 xx^* 为局部最小值点的必要条件和充分条件。这些条件将一维微积分中的导数判据推广到 nn 维,用梯度和 Hessian 矩阵替代导数和二阶导数。

一阶必要条件.

定理.xx^* 是局部最小值点,则 f(x)=0\nabla f(x^*) = \mathbf{0}

满足 f(x)=0\nabla f(x^*) = \mathbf{0} 的点称为驻点(stationary point)或稳定点。驻点是梯度为零的点,在驻点处函数在各个方向上的一阶变化率为零。这个条件的实用价值在于:可以将 f(xk)<ε\|\nabla f(x^k)\| < \varepsilon 作为优化算法的停止准则——当梯度足够小时,认为已经接近驻点。

证明.ffxx^* 处做一阶 Taylor 展开:

f(x+tv)=f(x)+tf(x)v+o(t)f(x^* + tv) = f(x^*) + t\,\nabla f(x^*)^\top v + o(t)

两边减去 f(x)f(x^*) 再除以 tt

f(x+tv)f(x)t=f(x)v+o(1)\frac{f(x^* + tv) - f(x^*)}{t} = \nabla f(x^*)^\top v + o(1)

由于 xx^* 是局部最小值点,在其邻域内 f(x+tv)f(x)f(x^* + tv) \geq f(x^*)。令 t0+t \to 0^+,左端 0\geq 0,得 f(x)v0\nabla f(x^*)^\top v \geq 0;令 t0t \to 0^-tt 为负但分母也为负,得 f(x)v0\nabla f(x^*)^\top v \leq 0。两个不等式结合,对任意方向 vv 均有 f(x)v=0\nabla f(x^*)^\top v = 0,由 vv 的任意性推出 f(x)=0\nabla f(x^*) = \mathbf{0}\square

二阶必要条件.

定理.xx^* 是局部最小值点,且 ffxx^* 附近二阶可导,则:

f(x)=0,2f(x)0  (半正定)\nabla f(x^*) = \mathbf{0}, \quad \nabla^2 f(x^*) \succeq 0 \;\text{(半正定)}

这个条件在一阶条件的基础上增加了对曲率的要求:Hessian 半正定意味着函数在 xx^* 处的各方向曲率均非负。直观地说,局部最小值点必然是”碗形”的,而不能在某个方向上呈”鞍形”(曲率为负)。

证明(反证法). 假设 2f(x)\nabla^2 f(x^*) 不是半正定的,则存在负特征值 λ<0\lambda < 0 及对应的单位特征向量 dd。对 ffxx^* 处做二阶 Taylor 展开:

f(x+d)=f(x)+f(x)d+12d2f(x)d+o(d2)f(x^* + d) = f(x^*) + \nabla f(x^*)^\top d + \frac{1}{2}d^\top \nabla^2 f(x^*) d + o(\|d\|^2)

由一阶必要条件 f(x)=0\nabla f(x^*) = \mathbf{0},中间项消去。利用如下引理:

引理.SSnn 阶实对称矩阵,则 dSdλmin(S)d2d^\top S d \geq \lambda_{\min}(S)\|d\|^2

证明SS 正交相似于对角阵 Λ=diag(λ1,,λn)\Lambda = \text{diag}(\lambda_1, \ldots, \lambda_n),即 S=QΛQS = Q\Lambda Q^\top。令 y=Qdy = Q^\top d,由正交不变性 y=d\|y\| = \|d\|,则 dSd=yΛy=iλiyi2λminiyi2=λmind2d^\top S d = y^\top \Lambda y = \sum_i \lambda_i y_i^2 \geq \lambda_{\min}\sum_i y_i^2 = \lambda_{\min}\|d\|^2

dd 取为负特征值对应的特征向量,则 d2f(x)d=λ<0d^\top \nabla^2 f(x^*) d = \lambda < 0。令 d\|d\| 充分小以忽略高阶项,得 f(x+d)f(x)12λd2<0f(x^* + d) - f(x^*) \approx \frac{1}{2}\lambda\|d\|^2 < 0,与 xx^* 是局部最小值矛盾。\square

二阶充分条件.

定理.f(x)=0\nabla f(x^*) = \mathbf{0}2f(x)0\nabla^2 f(x^*) \succ 0(正定),则 xx^* 是局部最小值点。

正定比半正定更强:正定意味着所有方向的曲率都严格为正,函数在 xx^* 处是一个严格的”碗底”。

证明. 二阶 Taylor 展开后,梯度项为零,余项为:

f(x+d)f(x)d2=12dd2f(x)dd+o(1)\frac{f(x^* + d) - f(x^*)}{\|d\|^2} = \frac{1}{2}\frac{d^\top}{\|d\|}\nabla^2 f(x^*)\frac{d}{\|d\|} + o(1)

由正定性和上述引理,右端第一项 12λmin(2f(x))>0\geq \frac{1}{2}\lambda_{\min}(\nabla^2 f(x^*)) > 0。令 d\|d\| 充分小使高阶项可忽略,得 f(x+d)f(x)0f(x^* + d) - f(x^*) \geq 0,故 xx^* 是局部最小值点。\square

注意半正定与正定的差别:二阶必要条件要求半正定,二阶充分条件要求正定。中间存在一个”间隙”——当 Hessian 半正定但不正定时(即存在零特征值),该点可能是极小值点也可能是鞍点,需要更高阶的信息来判断。

1.3.3 凸函数的全局最优性#

对于凸函数,最优性条件有一个质的飞跃:

定理.ff 连续可微且为凸函数,则以下三者等价:

x 是全局最优解    x 是局部最优解    f(x)=0x^* \text{ 是全局最优解} \iff x^* \text{ 是局部最优解} \iff \nabla f(x^*) = \mathbf{0}

这是凸优化最强大的性质——只要找到一个驻点,就自动是全局最优。非凸问题不具备这一性质:驻点可能是鞍点或局部最小值,不一定是全局最优。这也解释了为什么凸优化在算法设计上比非凸优化简单得多——任何能收敛到驻点的算法都能找到全局最优解。

“局部 \Rightarrow 全局”的关键在于凸函数的一阶条件。假设 xx^* 是局部最优但不是全局最优,则存在 yy 使得 f(y)<f(x)f(y) < f(x^*)。由一阶条件,f(y)f(x)+f(x)(yx)=f(x)f(y) \geq f(x^*) + \nabla f(x^*)^\top(y - x^*) = f(x^*)(最后一步用了 f(x)=0\nabla f(x^*) = \mathbf{0}),矛盾。

对于非凸问题,驻点的类型需要由 Hessian 来判别。在高维空间中,鞍点(部分方向上升、部分方向下降)远比局部极小值常见——对于 nn 维问题,一个随机驻点是鞍点的概率随 nn 的增大而趋近于 1。深度学习中的损失函数虽然是非凸的,但大量实证和理论工作表明,高维非凸目标中的局部极小值通常与全局极小值的函数值非常接近,真正阻碍优化的主要是鞍点而非局部极小值。

总结. 四个最优性条件的关系如下:

条件类型内容
一阶必要必要xx^* 局部最小 \Rightarrow f(x)=0\nabla f(x^*) = \mathbf{0}
二阶必要必要xx^* 局部最小 ++ 二阶可导 \Rightarrow f(x)=0\nabla f(x^*) = \mathbf{0}2f(x)0\nabla^2 f(x^*) \succeq 0
二阶充分充分f(x)=0\nabla f(x^*) = \mathbf{0}2f(x)0\nabla^2 f(x^*) \succ 0 \Rightarrow xx^* 局部最小
凸全局最优充要ff\Rightarrow 全局最优 \Leftrightarrow 局部最优 \Leftrightarrow 驻点

上述最优性条件适用于无约束问题。对于约束优化问题,最优性条件需要以不同的等价形式来表述。

1.4 约束优化的三种等价形式#

约束优化问题 minxf(x)  s.t.  xΩ\min_x f(x) \;\text{s.t.}\; x \in \OmegaΩ\Omega 为凸集)可以转化为三种等价的数学形式,每种形式对应不同的算法设计思路。

1.4.1 变分不等式#

寻找 xΩx^* \in \Omega,使得:

(yx)f(x)0,yΩ(y - x^*)^\top \nabla f(x^*) \geq 0, \quad \forall\, y \in \Omega

简记为 VI(f,Ω)\text{VI}(\nabla f, \Omega)

几何含义. (yx)(y - x^*) 是从最优点 xx^* 指向可行域内任意点 yy 的可行方向,f(x)\nabla f(x^*) 是函数在 xx^* 处的上升方向。内积 0\geq 0 意味着可行方向与上升方向的夹角不超过 90°90°——沿任何可行方向移动,函数值都不会下降。如果负梯度方向(下降方向)在可行域的法锥中,那么就没有可行的下降方向,xx^* 就是最优的。

变分不等式推广了无约束问题中的 f(x)=0\nabla f(x^*) = \mathbf{0}:无约束时可行方向是任意方向,因此梯度必须为零;有约束时可行方向受到限制,梯度不必为零,只需要保证在可行方向上没有下降空间。

特殊情形 1(无约束 Ω=Rn\Omega = \mathbb{R}^n):取 y=xf(x)y = x^* - \nabla f(x^*),带入得 f(x)20-\|\nabla f(x^*)\|^2 \geq 0,因此 f(x)=0\nabla f(x^*) = \mathbf{0}——退化为 1.3 节的一阶必要条件。

特殊情形 2(非负约束 Ω=R+n\Omega = \mathbb{R}^n_+):分别取 y=2xy = 2x^*y=0y = \mathbf{0},联立得 xf(x)=0{x^*}^\top \nabla f(x^*) = 0。逐分量来看,这意味着对每个坐标 iixix^*_ifxi(x)\frac{\partial f}{\partial x_i}(x^*) 不能同时非零:

xifxi(x)=0,ix^*_i \cdot \frac{\partial f}{\partial x_i}(x^*) = 0, \quad \forall\, i

这就是互补问题(Complementarity Problem, CP)。互补条件的直觉是:如果决策变量的某个分量 xix^*_i 严格在约束内部(xi>0x^*_i > 0),那么在该方向上没有约束的”阻碍”,最优性要求梯度在该方向为零;反过来,如果约束是紧的(xi=0x^*_i = 0),那么该方向被约束”堵住”了,梯度在该方向可以不为零。互补条件正是 KKT 条件中互补松弛条件 λici(x)=0\lambda^*_i c_i(x^*) = 0 的特例,这里每个分量的约束 xi0x_i \geq 0 扮演了 cic_i 的角色,fxi\frac{\partial f}{\partial x_i} 扮演了乘子的角色。

1.4.2 零包含问题#

利用 1.1.1 节的指示函数将约束优化转为无约束 minxf(x)+ιΩ(x)\min_x f(x) + \iota_\Omega(x),对该问题求次微分,得到零包含形式:

0f(x)+ιΩ(x)=f(x)+NΩ(x)0 \in \nabla f(x^*) + \partial \iota_\Omega(x^*) = \nabla f(x^*) + N_\Omega(x^*)

其中 NΩ(x)N_\Omega(x^*)Ω\Omegaxx^* 处的法锥(normal cone),即指示函数的次微分。法锥的几何含义是:在 xx^* 处所有”指向集合外部”的方向构成的锥。零包含条件说的是 f(x)-\nabla f(x^*) 属于法锥,即负梯度”指向外面”,在可行域内找不到下降方向。关于次微分和法锥的严格定义将在第二章展开。

抽象形式为 0Ax+Bx0 \in Ax + Bx,其中 AABB 分别对应两个算子。这种”两个算子之和”的结构在优化中非常常见:AA 通常是光滑项的梯度(如损失函数的梯度),BB 是非光滑项的次微分(如正则项或指示函数的次微分)。

例(LASSO 问题的零包含形式). 考虑 LASSO 问题 minx12Axb2+λx1\min_x \frac{1}{2}\|Ax - b\|^2 + \lambda\|x\|_1,其最优性条件为

0A(Axb)+λx10 \in A^\top(Ax - b) + \lambda\,\partial\|x\|_1

这里 A=fA = \nabla f(其中 f(x)=12Axb2f(x) = \frac{1}{2}\|Ax-b\|^2)是光滑项的梯度算子,可以直接计算 A(Axb)A^\top(Ax-b)B=(λ1)B = \partial(\lambda\|\cdot\|_1)1\ell_1 范数(乘以 λ\lambda)的次微分算子,虽然不可微,但其邻近算子有简洁的闭式解——逐分量的软阈值操作。分裂的好处在于:AA 可以通过梯度步(forward step)直接处理,BB 可以通过邻近算子(backward step)处理,两者分开处理比合在一起更容易。如果把两项混在一起,既不光滑(因为 1\ell_1)又没有简单的整体次微分公式;分开之后,每一部分都有高效的求解方式。

当问题具有这种分裂结构时,可以使用分裂算法(splitting methods)求解——分别处理两个算子,再通过某种迭代格式将两者的信息融合。前向-后向分裂(对应邻近梯度法)和 Douglas-Rachford 分裂是最基本的两种,第五章将系统讨论这些方法。

1.4.3 投影方程#

投影算子. 给定闭凸集 Ω\Omega 和点 aaaaΩ\Omega 上的投影定义为:

PΩ(a):=argminxΩ12ax2P_\Omega(a) := \arg\min_{x \in \Omega} \frac{1}{2}\|a - x\|^2

即在 Ω\Omega 中找距 aa 最近的点。当 Ω\Omega 是闭凸集时,投影的存在性和唯一性由严格凸目标函数 12ax2\frac{1}{2}\|a - x\|^2 在闭凸集上的最小化保证。投影的几何含义是从点 aa 向凸集 Ω\Omega 做”垂直投影”——投影点处的连线 aPΩ(a)a - P_\Omega(a) 与集合在投影点处的任何可行方向形成的角度不小于 90°90°

一些常见凸集上的投影有显式公式:在非负象限 R+n\mathbb{R}^n_+ 上的投影是逐分量取正部 [PR+n(a)]i=max(ai,0)[P_{\mathbb{R}^n_+}(a)]_i = \max(a_i, 0);在范数球 {xxr}\{x \mid \|x\| \leq r\} 上的投影是将超出球面的点沿径向缩回到球面上 P(a)=ra/aP(a) = r \cdot a/\|a\|(当 a>r\|a\| > r 时);在仿射子空间 {xAx=b}\{x \mid Ax = b\} 上的投影涉及一个线性方程组的求解。投影算子的计算效率直接影响投影梯度法的实际性能。

从变分不等式到投影方程. 将 VI 问题中的梯度项乘以步长 β>0\beta > 0,并构造 xβf(x)x^* - \beta\nabla f(x^*)——这正是从 xx^* 沿负梯度方向走一步 β\beta 得到的点。可以证明 VI 等价于不动点方程:

x=PΩ ⁣(xβf(x))x^* = P_\Omega\!\left(x^* - \beta\,\nabla f(x^*)\right)

等价性证明. 投影算子有一个基本的刻画:z=PΩ(a)z = P_\Omega(a) 当且仅当 zΩz \in \Omega(az)(yz)0(a - z)^\top(y - z) \leq 0 对所有 yΩy \in \Omega 成立。这个条件的几何含义是:aza - z(从投影点指向原始点的方向)与任何从 zz 出发的可行方向形成的角度不小于 90°90°

现在令 a=xβf(x)a = x^* - \beta\nabla f(x^*)z=xz = x^*。不动点方程 x=PΩ(a)x^* = P_\Omega(a) 等价于 xΩx^* \in \Omega

(xβf(x)x)(yx)0,yΩ(x^* - \beta\nabla f(x^*) - x^*)^\top(y - x^*) \leq 0, \quad \forall\, y \in \Omega

βf(x)(yx)0-\beta\nabla f(x^*)^\top(y - x^*) \leq 0。由 β>0\beta > 0(yx)f(x)0(y - x^*)^\top\nabla f(x^*) \geq 0,这正是变分不等式。\square

即最优点 xx^* 是”梯度下降一步再投影回可行域”操作的不动点。这个等价关系的直觉是:如果 xx^* 已经是最优的,那么从 xx^* 出发做一步梯度下降再投影回来,应该回到 xx^* 本身——因为从 xx^* 出发没有可行的下降方向,投影会把”越界的梯度步”拉回到 xx^*。这正是第四章投影梯度法的理论基础:算法每一步执行 xk+1=PΩ(xkβf(xk))x^{k+1} = P_\Omega(x^k - \beta\nabla f(x^k)),收敛后自然满足不动点方程。

自然残差. 定义误差度量(natural residual):

eβ(x,Ω):=xPΩ ⁣(xβf(x))e_\beta(x, \Omega) := x - P_\Omega\!\left(x - \beta\,\nabla f(x)\right)

eβ(x,Ω)=0e_\beta(x^*, \Omega) = 0 时,xx^* 即为最优解。自然残差衡量了当前点距离不动点方程有多远,eβ(xk,Ω)<ε\|e_\beta(x^k, \Omega)\| < \varepsilon 可以作为投影梯度算法的停止准则,与无约束情形中用 f(xk)\|\nabla f(x^k)\| 作为停止准则的思路一致。

1.4.4 三种形式的统一#

minxΩf(x)    VI(f,Ω)    0f+NΩ    x=PΩ(xβf(x))\min_{x \in \Omega} f(x) \iff \text{VI}(\nabla f, \Omega) \iff 0 \in \nabla f + N_\Omega \iff x^* = P_\Omega(x^* - \beta\nabla f(x^*))

三种形式描述的是同一件事——约束优化的最优性条件,但各自的视角不同:VI 形式便于分析最优性条件和对偶关系;零包含形式揭示了问题的算子结构,自然引出分裂算法(第五、六章);投影方程形式直接对应投影梯度类算法的设计(第四章)。选择哪种形式取决于问题的结构和所要设计的算法类型。


确定了”什么是最优”之后,最后一个基本问题是:优化算法收敛到最优解的速度有多快?

1.5 收敛性与收敛速度#

1.5.1 收敛性的两种层次#

优化算法的基本流程是:选取初始点 x0x^0,通过迭代规则生成序列 x0,x1,x2,,xk,xk+1,x^0, x^1, x^2, \ldots, x^k, x^{k+1}, \ldots,直到序列收敛到最优解 xx^*。根据对初始点的要求,收敛性分为两种层次:

  • 全局收敛:对可行域 Ω\Omega 中任意初始点 x0x^0,算法生成的序列 {xk}\{x^k\} 均收敛到 xx^*(或某个最优解)。
  • 局部收敛:仅当初始点 x0x^0 位于 xx^* 的某个邻域内时,序列才收敛到 xx^*

全局收敛显然更理想,但也更难保证。局部收敛的困难在于:xx^* 本身是未知的,找到其邻域内的初始点本身就是难题。实践中的常见策略是先用全局收敛的算法(如梯度下降法)接近最优解,再切换到局部收敛但速度更快的算法(如 Newton 法)来精炼。

需要注意的是,“全局收敛”在优化文献中的含义与直觉略有不同。它不是说算法一定收敛到全局最优解,而是说对任意初始点算法都收敛到某个驻点(或局部最优解)。只有在凸问题上,全局收敛才等同于收敛到全局最优。

1.5.2 四种收敛速度#

收敛性回答”能不能到达最优”,收敛速度回答”多快能到达”。与收敛速度密切相关的概念是算法复杂度 N(ε)N(\varepsilon)——达到精度 ε\varepsilon 所需的迭代次数。如果算法满足 f(xk)f(x)c/kf(x^k) - f(x^*) \leq c/\sqrt{k},则达到 ε\varepsilon 精度需要 kc2/ε2k \geq c^2/\varepsilon^2 步,复杂度为 O(1/ε2)O(1/\varepsilon^2)。收敛速度直接决定了算法的实用性:对于大规模机器学习问题,收敛速度的差异可能意味着训练几分钟与训练几天的区别。

Q-线性收敛(Q-linear convergence). Q 代表”quotient”(商),通过相邻两步误差之比来定义:

lim supkxk+1xxkxq,q(0,1)\limsup_{k \to \infty} \frac{\|x^{k+1} - x^*\|}{\|x^k - x^*\|} \leq q, \quad q \in (0, 1)

含义:每一步迭代都将误差缩小至少 qq 倍。qq 越小收敛越快。经过 kk 步后误差大约为 qkq^k 倍的初始误差,因此达到精度 ε\varepsilon 需要 O(log(1/ε))O(\log(1/\varepsilon)) 步——迭代次数与精度的对数成正比。

梯度下降法在 μ\mu-强凸且 LL-光滑的问题上达到 Q-线性收敛,收敛因子 q=1μ/L=11/κq = 1 - \mu/L = 1 - 1/\kappa,其中 κ=L/μ\kappa = L/\mu 是条件数。条件数越大,qq 越接近 1,收敛越慢。

R-线性收敛(R-linear convergence). R 代表”root”(根),通过误差的整体上界来定义:

xkxCqk,q(0,1),  C>0\|x^k - x^*\| \leq C \cdot q^k, \quad q \in (0, 1),\; C > 0

含义:误差被指数衰减的函数控制,但不要求每一步都严格缩小。

Q-线性收敛严格强于 R-线性收敛:Q-线性收敛 \Rightarrow R-线性收敛,反之不成立。R-线性收敛允许个别步骤的误差暂时增大,只要整体趋势是指数衰减即可。

反例.xk=(1/3)kx^k = (1/3)^kkk 为偶数),xk=(1/2)kx^k = (1/2)^kkk 为奇数),x=0x^* = 0。R-线性收敛成立:xk1(1/2)k|x^k| \leq 1 \cdot (1/2)^k。但 Q-线性收敛不成立:从偶数步到奇数步的商为 (3/2)k+1(1/2)(3/2)^{k+1} \cdot (1/2),当 kk 足够大时超过 1,无法被 (0,1)(0,1) 中的常数控制。

次线性收敛(Sublinear convergence). 误差衰减速度慢于线性——用 kk 的多项式逆来控制:

xkxCkα,α>0\|x^k - x^*\| \leq C \cdot k^{-\alpha}, \quad \alpha > 0

常见的次线性收敛率及其实际代价:

收敛率记号达到精度 10610^{-6} 所需迭代次数
O(1/k)O(1/\sqrt{k})O(k1/2)O(k^{-1/2})101210^{12}
O(1/k)O(1/k)O(k1)O(k^{-1})10610^{6}
O(1/k2)O(1/k^2)O(k2)O(k^{-2})10310^{3}

次线性收敛弱于线性收敛,但在实际中非常常见。梯度下降法在一般凸(非强凸)问题上的函数值收敛率为 O(1/k)O(1/k);Nesterov 加速梯度法将其提升到 O(1/k2)O(1/k^2),且这已经是一阶方法的最优收敛率。次梯度法在非光滑凸问题上只能达到 O(1/k)O(1/\sqrt{k}),远慢于光滑情形。

以下是具体算法在不同条件下的收敛速度对照,这些结果将在后续各章中逐一证明:

算法问题条件收敛率章节
梯度下降法LL-光滑 + 凸O(1/k)O(1/k)(函数值)第三章
梯度下降法LL-光滑 + μ\mu-强凸O(qk)O(q^k)q=1μ/Lq = 1 - \mu/L(Q-线性)第三章
Nesterov 加速法LL-光滑 + 凸O(1/k2)O(1/k^2)(函数值)(提及于第三章)
投影梯度法LL-光滑 + 凸 + 凸约束O(1/k)O(1/k)(函数值)第四章
邻近梯度法复合结构 + 强凸O(qk)O(q^k)(线性)第五章
Newton 法二阶可微 + Hessian 正定O(c2k)O(c^{2^k})(二阶,局部)第三章

P 阶收敛(P-th order convergence). Q-线性收敛的推广,允许分母取 pp 次方:

lim supkxk+1xxkxp<,p1\limsup_{k \to \infty} \frac{\|x^{k+1} - x^*\|}{\|x^k - x^*\|^p} < \infty, \quad p \geq 1

pp 越大收敛越快。若当前误差 xkx=101\|x^k - x^*\| = 10^{-1},则下一步误差约为 c10pc \cdot 10^{-p}p=2p = 2 时每步将精度翻倍(有效数字加倍),这是二阶收敛(quadratic convergence)。Newton 法在局部达到二阶收敛:如果当前有 3 位有效数字,下一步约有 6 位,再下一步约有 12 位——精度以指数的指数速度增长。代价是每步需要求解一个 n×nn \times n 的线性方程组(涉及 Hessian 矩阵),单步计算量远大于梯度下降法。

当 Q-线性收敛中 q=0q = 0 时,称为超线性收敛(superlinear convergence),速度介于线性和二阶之间。拟 Newton 法(如 BFGS)在一定条件下达到超线性收敛,它用低秩更新近似 Hessian,既避免了精确 Hessian 的计算代价,又比梯度下降法收敛更快。

1.5.3 收敛速度的层次关系#

P 阶  (p>1)    超线性    Q-线性    R-线性    次线性\text{P 阶}\;(p > 1) \;\Rightarrow\; \text{超线性} \;\Rightarrow\; \text{Q-线性} \;\Rightarrow\; \text{R-线性} \;\Rightarrow\; \text{次线性}

在算法研究中,将收敛率从次线性提升到 R-线性,或从 R-线性提升到 Q-线性,都是有价值的改进。但收敛速度不是评价算法的唯一标准——单步计算量同样重要。Newton 法的二阶收敛需要 O(n3)O(n^3) 的单步代价(求解线性方程组),而梯度下降法只需 O(n)O(n) 的梯度计算。对于高维问题(nn 很大),梯度下降法的次线性收敛可能反而比 Newton 法更实用,因为相同时间内能执行更多步迭代。这一层次关系将在后续各章分析具体算法时反复使用。

1.5.4 收敛速度与问题结构#

收敛速度并非算法本身固有的属性——它取决于算法与问题结构的匹配。同一个算法在不同结构的问题上可能表现出截然不同的收敛速度。以梯度下降法为例,这个区别完全由问题的凸性和光滑性决定:

  • 一般凸 + LL-光滑:f(xk)f(x)O(1/k)f(x^k) - f(x^*) \leq O(1/k),次线性。精度每提高一个数量级需要多十倍的迭代。
  • μ\mu-强凸 + LL-光滑:f(xk)f(x)O(qk)f(x^k) - f(x^*) \leq O(q^k)q=1μ/Lq = 1 - \mu/L,线性。精度每提高一个数量级需要固定的迭代次数 O(κlog10)O(\kappa\log 10)

这个对比清楚地展示了强凸性带来的加速效果:强凸性为函数提供了曲率下界,使得梯度的方向信息更可靠,每步下降更有效。条件数 κ=L/μ\kappa = L/\mu 是衡量问题难度的关键指标——κ\kappa 越大,问题越”病态”,梯度下降越慢。第三章将给出这些收敛率的严格证明。


本章建立了优化理论的基本框架。1.1 节的统一模型和分类体系为后续各类问题的讨论提供了共同语言;1.2 节的凸集与凸函数理论(特别是强凸性和 LL-光滑性的对偶关系)为算法收敛性分析提供了核心工具;1.3 节的最优性条件回答了”何时到达最优”,其中凸函数的全局最优性是凸优化理论大厦的基石;1.4 节的三种等价形式——变分不等式、零包含、投影方程——为不同类型的算法设计提供了各自的理论入口;1.5 节的收敛速度分类为算法比较建立了统一标尺,而收敛速度与问题结构(凸性、光滑性、条件数)的关系贯穿后续每一章的分析。

第一章:基础理论
https://www.xwysyy.cn/posts/optimization/ch1/
作者
xwysyy
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0
© 2026 xwysyy. All Rights Reserved.
Powered by Astro & Firefly

文章目录