【凸优化】第一节课(下):保凸运算、分离超平面与 Farkas 引理

一、组合与包:仿射包、凸包、锥包

给定一组点,把它们按三种不同的方式混起来,得到三种组合。给定 x1,...,xk∈Rnx_1, \dots, x_k \in \mathbb{R}^nx1,...,xk∈Rn,如果系数满足 θ1+⋯+θk=1\theta_1 + \dots + \theta_k = 1θ1+⋯+θk=1,则 θ1x1+⋯+θkxk\theta_1 x_1 + \dots + \theta_k x_kθ1x1+⋯+θkxk 称为这组点的仿射组合;如果系数还都非负,则称为凸组合;如果只要求系数非负、不要求求和为一,则称为锥组合。

把组合推广到集合上,得到三种包。设 S⊆RnS \subseteq \mathbb{R}^nS⊆Rn,由 SSS 中点的仿射组合构成的集合称为 SSS 的仿射包,凸组合构成的集合称为凸包,锥组合构成的集合称为锥包。三种组合与三种包各自等价:有限个点的仿射组合构成的集合就是仿射包,凸组合构成的集合就是凸包,锥组合构成的集合就是锥包。

凸包这一条的证明值一走。记 x1,...,xkx_1, \dots, x_kx1,...,xk 的凸组合构成的集合为 Ωc\Omega_cΩc,凸包为 Ωh\Omega_hΩh,要证 Ωc=Ωh\Omega_c = \Omega_hΩc=Ωh。先证 Ωc\Omega_cΩc 是凸集。任取 y1,y2∈Ωcy_1, y_2 \in \Omega_cy1,y2∈Ωc,则存在 μ1,...,μk≥0\mu_1, \dots, \mu_k \ge 0μ1,...,μk≥0 与 θ1,...,θk≥0\theta_1, \dots, \theta_k \ge 0θ1,...,θk≥0,各自求和为一,使得 y1=∑iμixiy_1 = \sum_i \mu_i x_iy1=∑iμixi,y2=∑iθixiy_2 = \sum_i \theta_i x_iy2=∑iθixi。两点连线上的任意一点写成

λy1+(1−λ)y2=∑i=1k{λμi+(1−λ)θi}xi(1-1)\lambda y_1 + (1-\lambda) y_2 = \sum_{i=1}^{k} \lbrace \lambda \mu_i + (1-\lambda)\theta_i \rbrace x_i \tag{1-1}λy1+(1−λ)y2=i=1∑k{λμi+(1−λ)θi}xi(1-1)

新系数 λμi+(1−λ)θi\lambda \mu_i + (1-\lambda)\theta_iλμi+(1−λ)θi 非负,求和为 λ+(1−λ)=1\lambda + (1-\lambda) = 1λ+(1−λ)=1,所以这个点仍在 Ωc\Omega_cΩc 内。再证 Ωh⊆Ωc\Omega_h \subseteq \Omega_cΩh⊆Ωc。每个 xix_ixi 都能写成 θi=1\theta_i = 1θi=1、其余系数为 000 的组合,所以 x1,...,xkx_1, \dots, x_kx1,...,xk 都在 Ωc\Omega_cΩc 内,Ωc\Omega_cΩc 是包含这 kkk 个点的一个凸集。凸包是包含这些点的最小凸集,故 Ωh⊆Ωc\Omega_h \subseteq \Omega_cΩh⊆Ωc。最后用归纳法证 Ωc⊆Ωh\Omega_c \subseteq \Omega_hΩc⊆Ωh。一个点时显然 Ωc=Ωh={x1}\Omega_c = \Omega_h = \lbrace x_1 \rbraceΩc=Ωh={x1}。设点数不超过 kkk 时结论成立,看 k+1k+1k+1 个点的情形。任取 Ωck+1\Omega_c^{k+1}Ωck+1 中的一点 x=∑i=1k+1θixix = \sum_{i=1}^{k+1} \theta_i x_ix=∑i=1k+1θixi,若 θk+1=1\theta_{k+1} = 1θk+1=1 则 x=xk+1∈Ωhk+1x = x_{k+1} \in \Omega_h^{k+1}x=xk+1∈Ωhk+1。否则 θk+1<1\theta_{k+1} < 1θk+1<1,令

y=11−θk+1∑i=1kθixi(1-2)y = \dfrac{1}{1 - \theta_{k+1}} \sum_{i=1}^{k} \theta_i x_i \tag{1-2}y=1−θk+11i=1∑kθixi(1-2)

(1-2)的系数非负且求和为一,所以 y∈Ωcky \in \Omega_c^{k}y∈Ωck,由归纳假设 y∈Ωhky \in \Omega_h^{k}y∈Ωhk,而 Ωhk⊆Ωhk+1\Omega_h^{k} \subseteq \Omega_h^{k+1}Ωhk⊆Ωhk+1。又 x=(1−θk+1)y+θk+1xk+1x=(1-\theta_{k+1})y+\theta_{k+1}x_{k+1}x=(1−θk+1)y+θk+1xk+1,这是 yyy 与 xk+1x_{k+1}xk+1 连线上的点,而 Ωhk+1\Omega_h^{k+1}Ωhk+1 作为凸包是凸集,于是 x∈Ωhk+1x \in \Omega_h^{k+1}x∈Ωhk+1。归纳成立,两个包含关系合起来给出 Ωc=Ωh\Omega_c = \Omega_hΩc=Ωh。

凸包还有一个等价说法用起来更省事:conv(S)\text{conv}(S)conv(S) 是包含 SSS 的最小凸集,也就是包含 SSS 的所有凸集的交集。换句话说,只要 BBB 是包含 SSS 的凸集,就必有 conv(S)⊆B\text{conv}(S) \subseteq Bconv(S)⊆B。

三种包在 R3\mathbb{R}^3R3 里的差别可以看得很清楚。取三个点 x1=(1,0,0)x_1 = (1,0,0)x1=(1,0,0),x2=(0,1,0)x_2 = (0,1,0)x2=(0,1,0),x3=(0,0,1)x_3 = (0,0,1)x3=(0,0,1),它们的仿射包是这三点确定的那张二维平面 x1+x2+x3=1x_1 + x_2 + x_3 = 1x1+x2+x3=1,凸包是以这三点为顶点的三角形,锥包是整个第一象限 {x∣x1,x2,x3≥0}\lbrace x \mid x_1, x_2, x_3 \ge 0 \rbrace{x∣x1,x2,x3≥0}。三种包分别见图 1 的三个子图。

图 1:仿射包、凸包与锥包

图源:《凸优化简明教程》图 2.9。

打包这件事还能分出一类集合。凸包恰由 n+1n+1n+1 个不落在同一张超平面上的点构成时,得到的是单纯形,R2\mathbb{R}^2R2 里是三角形,R3\mathbb{R}^3R3 里是四面体。有界多面体是有限个点凸包的另一种叫法。

二、保凸运算与凸性判定

2.1 三种保凸映射

手头拿到一个集合,判断它凸不凸有两条路:回到定义验证,或者把它认成几个已知凸集经过保凸运算拼出来的结果。第二条路快得多,前提是知道哪些运算保凸。除了交集这一条,还有三种映射保凸。

给定集合 Ω\OmegaΩ,设 fff 是下面三种映射中的任意一种。其一,仿射映射

f(x)=Ax+b,x∈Rn,A∈Rm×n,b∈Rm(2-1)f(x) = A x + b, x \in \mathbb{R}^n, A \in \mathbb{R}^{m \times n}, b \in \mathbb{R}^m \tag{2-1}f(x)=Ax+b,x∈Rn,A∈Rm×n,b∈Rm(2-1)

其二,透视映射,作用在 (Rn+1,t>0)(\mathbb{R}^{n+1}, t > 0)(Rn+1,t>0) 上

f(x,t)=xt,x∈Rn,t>0(2-2)f(x, t) = \dfrac{x}{t}, x \in \mathbb{R}^n, t > 0 \tag{2-2}f(x,t)=tx,x∈Rn,t>0(2-2)

其三,线性分式映射

f(x)=Ax+bcTx+d,cTx+d>0(2-3)f(x) = \dfrac{A x + b}{c^{T} x + d}, c^{T} x + d > 0 \tag{2-3}f(x)=cTx+dAx+b,cTx+d>0(2-3)

结论是:如果 Ω\OmegaΩ 是凸集,那么经过这三种映射得到的像也是凸集;反过来,如果像 Γ\GammaΓ 是凸集,那么原像 f−1(Γ)f^{-1}(\Gamma)f−1(Γ) 也是凸集。三个方向的证明都顺着定义走,正向这一半写完,反向改一下记号就得到。

仿射映射最直接。任取 x1,x2∈Ωx_1, x_2 \in \Omegax1,x2∈Ω 与 θ∈0,1\theta \in 0,1θ∈0,1,记 yi=Axi+by_i = Ax_i + byi=Axi+b,则

θy1+(1−θ)y2=A{θx1+(1−θ)x2}+b(2-4)\theta y_1 + (1-\theta) y_2 = A \lbrace \theta x_1 + (1-\theta)x_2 \rbrace + b \tag{2-4}θy1+(1−θ)y2=A{θx1+(1−θ)x2}+b(2-4)

Ω\OmegaΩ 是凸集,中间那个括号里的点仍在 Ω\OmegaΩ 内,所以等号右端的点在像里。

透视映射多一个盒子。任取 (x1,t1),(x2,t2)∈Ω(x_1, t_1), (x_2, t_2) \in \Omega(x1,t1),(x2,t2)∈Ω,t1,t2>0t_1, t_2 > 0t1,t2>0,θ∈0,1\theta \in 0,1θ∈0,1,记两个权重之和为 ρ=θt1+(1−θ)t2\rho = \theta t_1 + (1-\theta)t_2ρ=θt1+(1−θ)t2,再记 λ=θt1/ρ\lambda = \theta t_1/\rhoλ=θt1/ρ,这个数落在 0,10,10,1 内。把透视像按 λ\lambdaλ 拆开

θx1+(1−θ)x2ρ=λx1t1+(1−λ)x2t2(2-5)\dfrac{\theta x_1 + (1-\theta)x_2}{\rho} = \lambda \dfrac{x_1}{t_1} + (1-\lambda) \dfrac{x_2}{t_2} \tag{2-5}ρθx1+(1−θ)x2=λt1x1+(1−λ)t2x2(2-5)

左端是 Ω\OmegaΩ 中一个点的透视像,右端是两个透视像的凸组合,于是像集对凸组合封闭。

线性分式映射可以看成前两种的复合。令 A′=AA' = AA′=A,把 xxx 映到 (Ax+b,cTx+d)(Ax + b, c^{T}x + d)(Ax+b,cTx+d),这一步是仿射映射;再把结果按(2-2)做透视,分母 cTx+d>0c^{T}x + d > 0cTx+d>0 保证盒子合法。定义域是 cTx+d>0c^{T}x + d > 0cTx+d>0 与 Ω\OmegaΩ 的交,两个条件各自刻出凸集,交集仍凸。两步都保凸,复合起来保凸。

线性分式映射把一个常见的说法接上了现实。相机把三维物体拍成二维照片,这一过程在数学上就是透视映射,所以凸的三维物体映到照片上仍然是凸图形。反过来,c=0c = 0c=0、d>0d > 0d>0 时线性分式映射退化成仿射映射,仿射映射是它的特例。

原像这一半在日常推导里用得更多。设 S⊆RmS \subseteq \mathbb{R}^mS⊆Rm 是凸集,A∈Rm×nA \in \mathbb{R}^{m \times n}A∈Rm×n,则

A−1(S)={x∈Rn∣Ax∈S}(2-6)A^{-1}(S) = \lbrace x \in \mathbb{R}^n \mid A x \in S \rbrace \tag{2-6}A−1(S)={x∈Rn∣Ax∈S}(2-6)

是凸集。任取 x,y∈A−1(S)x, y \in A^{-1}(S)x,y∈A−1(S),则 Ax,Ay∈SAx, Ay \in SAx,Ay∈S;取 t∈0,1t \in 0,1t∈0,1,由 SSS 的凸性 Atx+(1−t)y=tAx+(1−t)Ay∈SAtx + (1-t)y = tAx + (1-t)Ay \in SAtx+(1−t)y=tAx+(1−t)Ay∈S,所以 tx+(1−t)y∈A−1(S)tx + (1-t)y \in A^{-1}(S)tx+(1−t)y∈A−1(S)。集合 A−1(S)A^{-1}(S)A−1(S) 称为原像集。把(2-6)用在半正定锥上,一类重要的集合立刻就凸了。给定矩阵 A1,...,AmA_1, \dots, A_mA1,...,Am 与 BBB,考虑所有满足

B−∑i=1mxiAi⪰0(2-7)B - \sum_{i=1}^{m} x_i A_i \succeq 0 \tag{2-7}B−i=1∑mxiAi⪰0(2-7)

的 xxx 构成的集合。定义映射 f(x)=B−∑ixiAif(x) = B - \sum_i x_i A_if(x)=B−∑ixiAi,这是仿射映射。半正定锥是凸集,所以(2-7)定义的集合是凸集在仿射映射下的原像,仍然是凸集。线性矩阵不等式条件的凸性就是这么来的。

2.2 拿已知凸集与保凸运算做判定

有了上面这套工具,很多看起来复杂的集合都能很快判断出来。举一个常见的形状:

x1≥0,x1x2≥1(2-8)x_1 \ge 0, x_1 x_2 \ge 1 \tag{2-8}x1≥0,x1x2≥1(2-8)

条件里的乘积看着是非线性的,但这个集合是凸的。把它写成一个矩阵不等式

x111x2⪰0(2-9)\begin{bmatrix} x_1 & 1 \cr 1 & x_2 \end{bmatrix} \succeq 0 \tag{2-9}x111x2⪰0(2-9)

一个 2×22 \times 22×2 对称矩阵半正定,等价于对角元非负且行列式非负,也就是 x1≥0x_1 \ge 0x1≥0、x2≥0x_2 \ge 0x2≥0、x1x2−1≥0x_1 x_2 - 1 \ge 0x1x2−1≥0,与(2-8)一致。左端对 xxx 是仿射的,所以这是一个形如 F0+∑ixiFi⪰0F_0 + \sum_i x_i F_i \succeq 0F0+∑ixiFi⪰0 的线性矩阵不等式,可行集是凸集。同样一招可以判断抛物线以上的区域

x2≥x12  ⟺  1x1x1x2⪰0(2-10)x_2 \ge x_1^2 \iff \begin{bmatrix} 1 & x_1 \cr x_1 & x_2 \end{bmatrix} \succeq 0 \tag{2-10}x2≥x12⟺1x1x1x2⪰0(2-10)

和单位圆盘

x12+x22≤1  ⟺  1+x1x2x21−x1⪰0(2-11)x_1^2 + x_2^2 \le 1 \iff \begin{bmatrix} 1 + x_1 & x_2 \cr x_2 & 1 - x_1 \end{bmatrix} \succeq 0 \tag{2-11}x12+x22≤1⟺1+x1x2x21−x1⪰0(2-11)

两个左端的行列式分别是 x2−x12x_2 - x_1^2x2−x12 与 1−x12−x221 - x_1^2 - x_2^21−x12−x22,对角元也满足非负要求,等价性逐一核对即可。三个集合都是凸集,而且都是线性矩阵不等式的可行集。再看一个稍难的:

1−2x1−x12−x22+2x13≥0(2-12)1 - 2x_1 - x_1^2 - x_2^2 + 2x_1^3 \ge 0 \tag{2-12}1−2x1−x12−x22+2x13≥0(2-12)

这个集合不是凸集。把它看成 x1x_1x1 的三次函数,两端各自长出一个小瓣,两块互不相连,中间断开了。凸集在 R2\mathbb{R}^2R2 里必须连通,不连通就直接出局,不必再验定义。把(2-12)加上一个线性约束 x1≤0.5x_1 \le 0.5x1≤0.5,截掉右边那一瓣,剩下一块连通区域,这时它确实是凸集,而且可以写成

1x10x11x20x21−2x1⪰0(2-13)\begin{bmatrix} 1 & x_1 & 0 \cr x_1 & 1 & x_2 \cr 0 & x_2 & 1 - 2x_1 \end{bmatrix} \succeq 0 \tag{2-13} 1x10x11x20x21−2x1 ⪰0(2-13)

一个三次不等式的可行集被一个 3×33 \times 33×3 的线性矩阵不等式条件替换掉了,这类化归在半定规划建模里很常见。还有一批集合是凸的,却写不成线性矩阵不等式。比如把抛物线以上的区域与第一象限并起来

S={x∣x2≥x12}∪{x∣x1≥0,x2≥0}(2-14)S = \lbrace x \mid x_2 \ge x_1^2 \rbrace \cup \lbrace x \mid x_1 \ge 0, x_2 \ge 0 \rbrace \tag{2-14}S={x∣x2≥x12}∪{x∣x1≥0,x2≥0}(2-14)

并起来之后的集合仍然是凸的,但它不是基本半代数集。半代数集指由有限个多项式等式与不等式刻出的集合,以及这种集合的有限并;而线性矩阵不等式的可行集要求所有不等式同时对同一个 xxx 成立,是一个交的结构。并运算不在保凸运算之列,这里凸性恰好凑巧成立,可表示性却丢了。

x14+x24≤1x_1^4 + x_2^4 \le 1x14+x24≤1 也是同类例子,它是凸集,但写不成线性矩阵不等式的形式。至于哪些集合存在线性矩阵不等式表示,这个问题到今天也没有一般性的答案,已知的结果只覆盖了一部分特殊形状。

判定这件事还有一个更省力的等价说法:集合 CCC 与空间中任意一条直线的交集都是凸集,当且仅当 CCC 本身是凸集。充分性一侧取过 CCC 中任意两点的直线做交集即可,必要性一侧任取 x,y∈Cx, y \in Cx,y∈C,过这两点的直线与 CCC 的交包含 xxx 与 yyy,交集凸就保证线段落在 CCC 内。这条判据把高维的验证压成了一维的验证,动手时比对着定义硬证舒服得多。

三、分离超平面定理与支撑超平面

3.1 点与闭凸集的分离

凸集最有用的一条性质是能被平面切下来。设 Ω\OmegaΩ 是闭凸集,y∉Ωy \notin \Omegay∈/Ω,则必存在一个超平面把两者分开:存在非零向量 hhh 与实数 zzz,使得

hTx>z,∀x∈Ω,hTy<z(3-1)h^{T} x > z, \forall x \in \Omega, \quad h^{T} y < z \tag{3-1}hTx>z,∀x∈Ω,hTy<z(3-1)

满足(3-1)的超平面就是分离超平面,yyy 落在它的一侧,整个 Ω\OmegaΩ 落在另一侧。证明分三步,每一步都不长。第一步,最近点存在。定义 yyy 到 Ω\OmegaΩ 的距离为 inf⁡x∈Ω∥x−y∥2\inf_{x \in \Omega} \lVert x - y \rVert_2infx∈Ω∥x−y∥2。因为 Ω\OmegaΩ 是闭集且非空,先取 xˉ∈Ω\bar{x} \in \Omegaxˉ∈Ω,记 d0=∥xˉ−y∥2d_0 = \lVert \bar{x} - y \rVert_2d0=∥xˉ−y∥2,把 xxx 的范围限制在闭有界集 Ω∩B(y,d0)\Omega \cap B(y, d_0)Ω∩B(y,d0) 上,连续函数在紧集上取到最小值,所以存在 x0∈Ωx_0 \in \Omegax0∈Ω 使 ∥x0−y∥2\lVert x_0 - y \rVert_2∥x0−y∥2 达到下确界。见图 2。

图 2:点与闭凸集的分离

图源:《凸优化简明教程》图 2.11。

第二步,这个最近点必是边界点。反设 x0x_0x0 是 Ω\OmegaΩ 的内点,则存在 ε>0\varepsilon > 0ε>0 使得以 x0x_0x0 为心、2ε2\varepsilon2ε 为半径的开球落在 Ω\OmegaΩ 内。记 d=∥y−x0∥2d = \lVert y - x_0 \rVert_2d=∥y−x0∥2,v=(y−x0)/dv = (y - x_0)/dv=(y−x0)/d,构造新点

x1=x0+εv(3-2)x_1 = x_0 + \varepsilon v \tag{3-2}x1=x0+εv(3-2)

x1x_1x1 落在那个开球内,所以 x1∈Ωx_1 \in \Omegax1∈Ω。把它到 yyy 的距离算出来

y−x1=y−x0−εv=(d−ε)v(3-3)y - x_1 = y - x_0 - \varepsilon v = (d - \varepsilon) v \tag{3-3}y−x1=y−x0−εv=(d−ε)v(3-3)

两边取范数得 ∥y−x1∥2=d−ε\lVert y - x_1 \rVert_2 = d - \varepsilon∥y−x1∥2=d−ε,比 ddd 更小,与 x0x_0x0 是最近点矛盾。所以 x0x_0x0 一定在边界上。第三步,用最近点造出超平面。令

h=x0−y,z=hTy(3-4)h = x_0 - y, \quad z = h^{T} y \tag{3-4}h=x0−y,z=hTy(3-4)

对任意 x∈Ωx \in \Omegax∈Ω 与 λ∈(0,1)\lambda \in (0,1)λ∈(0,1),由 Ω\OmegaΩ 的凸性有 x0+λ(x−x0)∈Ωx_0 + \lambda(x - x_0) \in \Omegax0+λ(x−x0)∈Ω,于是它到 yyy 的距离不小于 ddd

∥(x0−y)+λ(x−x0)∥22=d2+2λ(x0−y)T(x−x0)+λ2∥x−x0∥22≥d2(3-5)\lVert (x_0 - y) + \lambda (x - x_0) \rVert_2^2 = d^2 + 2\lambda (x_0 - y)^{T}(x - x_0) + \lambda^2 \lVert x - x_0 \rVert_2^2 \ge d^2 \tag{3-5}∥(x0−y)+λ(x−x0)∥22=d2+2λ(x0−y)T(x−x0)+λ2∥x−x0∥22≥d2(3-5)

消去 d2d^2d2,两端同除以 2λ2\lambda2λ,再用(3-4)的记号

hT(x−x0)+λ2∥x−x0∥22≥0(3-6)h^{T}(x - x_0) + \dfrac{\lambda}{2} \lVert x - x_0 \rVert_2^2 \ge 0 \tag{3-6}hT(x−x0)+2λ∥x−x0∥22≥0(3-6)

接着反证 hT(x−x0)≥0h^{T}(x - x_0) \ge 0hT(x−x0)≥0。若它小于零,取充分小的 λ>0\lambda > 0λ>0 让第二项趋于零,整个左端就会变成负数,与(3-6)矛盾。于是

hTx=hT(x−x0)+hT(x0−y)+hTy≥∥h∥22+z>z(3-7)h^{T} x = h^{T}(x - x_0) + h^{T}(x_0 - y) + h^{T} y \ge \lVert h \rVert_2^2 + z > z \tag{3-7}hTx=hT(x−x0)+hT(x0−y)+hTy≥∥h∥22+z>z(3-7)

中间用了一次 h=x0−yh = x_0 - yh=x0−y,因此 hT(x0−y)=∥h∥22h^{T}(x_0 - y) = \lVert h \rVert_2^2hT(x0−y)=∥h∥22;最后一步成立是因为 y∉Ωy \notin \Omegay∈/Ω 保证了 h≠0h \ne 0h=0,∥h∥22\lVert h \rVert_2^2∥h∥22 严格为正。对照(3-4),hTy=zh^{T}y = zhTy=z,yyy 就落在超平面 hTx=zh^{T}x = zhTx=z 上,而整个 Ω\OmegaΩ 满足 hTx>zh^{T}x > zhTx>z,分离完成。

(3-1)里的分离是严格的,两个集合各自落在开半空间里。稍作调整还能得到中间夹着一层的版本:令 h^=h/2\hat{h} = h/2h^=h/2,z^=hT(y+x0)/4\hat{z} = h^{T}(y + x_0)/4z^=hT(y+x0)/4,则 h^Ty<z^\hat{h}^{T}y < \hat{z}h^Ty<z^ 且 h^Tx>z^\hat{h}^{T}x > \hat{z}h^Tx>z^ 对一切 x∈Ωx \in \Omegax∈Ω 成立。

严格分离听起来应该总做得到,其实不然。两个不相交的非空闭凸集未必能用超平面严格分开,反例取

C={x∈R2∣x1≤0},D={x∈R2∣x1>0,x1x2≥1}(3-8)C = \lbrace x \in \mathbb{R}^2 \mid x_1 \le 0 \rbrace, \quad D = \lbrace x \in \mathbb{R}^2 \mid x_1 > 0, x_1 x_2 \ge 1 \rbrace \tag{3-8}C={x∈R2∣x1≤0},D={x∈R2∣x1>0,x1x2≥1}(3-8)

CCC 是左半平面。DDD 是函数 1/x11/x_11/x1 在 x1>0x_1 > 0x1>0 上的上图,它的凸性来自 1/x11/x_11/x1 在这个区间上的凸性,闭性来自 x1>0x_1 > 0x1>0 这一侧没有可取到极限的边界点,两个集合不相交,都是闭凸集。DDD 无限逼近 x1=0x_1 = 0x1=0 这条线,两张集合的距离为零。分离超平面的法线方向不能带 x2x_2x2 分量,否则 CCC 沿 x2x_2x2 方向无界会把它撑破,只能取 x1=0x_1 = 0x1=0,而 CCC 的边界整条就在这条线上,取不到严格不等号。分离超平面存在,严格分离做不到。

3.2 支撑超平面

分离讲的是点与集合,换到集合的边界点上,结论变成另一条定理。设 Ω\OmegaΩ 是闭凸集,xxx 是它的一个边界点,若存在超平面 HHH 过 xxx,且 hTξ≥hTxh^{T}\xi \ge h^{T}xhTξ≥hTx 对一切 ξ∈Ω\xi \in \Omegaξ∈Ω 成立,则称 HHH 为 Ω\OmegaΩ 在 xxx 处的支撑超平面。几何上说,超平面贴着这个集合,集合整个落在它的同一侧。

定理:闭凸集的任意一个边界点上都有支撑超平面。

证明用分离定理加一步取极限。因为 yyy 是边界点,对每个 nnn 都能在以 yyy 为心、1/n1/n1/n 为半径的球里找到一点 yny_nyn 落在 Ω\OmegaΩ 外,且 yn→yy_n \to yyn→y。对每个 (n,yn)(n, y_n)(n,yn) 用 3.1 的结论,得到一个分离超平面 hnh_nhn,满足 hnTξ>hnTynh_n^{T}\xi > h_n^{T}y_nhnTξ>hnTyn 对一切 ξ∈Ω\xi \in \Omegaξ∈Ω 成立。把 hnh_nhn 归一化成 ∥hn∥2=1\lVert h_n \rVert_2 = 1∥hn∥2=1,序列 {hn}\lbrace h_n \rbrace{hn} 落在单位球面上,单位球面紧,必有子列收敛,记 hnk→hh_{n_k} \to hhnk→h。对任意 x∈Ωx \in \Omegax∈Ω,两边取极限

hTx=lim⁡k→∞hnkTx≥lim⁡k→∞hnkTynk=hTy(3-9)h^{T} x = \lim_{k \to \infty} h_{n_k}^{T} x \ge \lim_{k \to \infty} h_{n_k}^{T} y_{n_k} = h^{T} y \tag{3-9}hTx=k→∞limhnkTx≥k→∞limhnkTynk=hTy(3-9)

取 z=hTyz = h^{T}yz=hTy,则 hTξ≥zh^{T}\xi \ge zhTξ≥z 对一切 ξ∈Ω\xi \in \Omegaξ∈Ω 成立,而超平面 hTξ=zh^{T}\xi = zhTξ=z 恰好过 yyy,它就是所求的支撑超平面。

3.3 一个多面体的例子

分离的想法还能反过来用来判定形状。给定一组点 x1,...,xkx_1, \dots, x_kx1,...,xk,把所有到 x1x_1x1 比到其余点都更近的点收集起来,这样的集合叫做 x1x_1x1 附近的 Voronoi 区域

V1={x∣∥x−x1∥2≤∥x−xi∥2,i=2,...,k}(3-10)V_1 = \lbrace x \mid \lVert x - x_1 \rVert_2 \le \lVert x - x_i \rVert_2, i = 2, \dots, k \rbrace \tag{3-10}V1={x∣∥x−x1∥2≤∥x−xi∥2,i=2,...,k}(3-10)

它一定是个多面体。把范数比较的式子两边平方展开,xTxx^{T}xxTx 两次出现相互抵消,剩下的是

2(xi−x1)Tx≤(xi+x1)T(xi−x1)(3-11)2(x_i - x_1)^{T} x \le (x_i + x_1)^{T}(x_i - x_1) \tag{3-11}2(xi−x1)Tx≤(xi+x1)T(xi−x1)(3-11)

对每个 iii 都是一条仿射不等式,也就是一个半空间。V1V_1V1 是有限个这种半空间的交,按定义就是多面体。把所有 ViV_iVi 拼起来,空间被分成若干多面体区域,称为 Voronoi 集合。

这件事有直接的用处。移动通信的基站按位置铺开之后,每个基站负责的那片服务区就是它的 Voronoi 区域,手机接入最近的那个基站,等价于把用户位置归到它落在哪个多面体里。几何上的判定被换成了线性不等式的判定,计算起来很省事。

四、Farkas 引理与一个金融上的应用

4.1 Farkas 引理

分离定理的一个重要推论用两个线性系统的关系表述出来,称为 Farkas 引理。给定矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}A∈Rm×n 与向量 b∈Rmb \in \mathbb{R}^mb∈Rm,下面两个线性系统有且仅有一个存在可行解:系统 I 是

Ax=b,x⪰0(4-1)A x = b, x \succeq 0 \tag{4-1}Ax=b,x⪰0(4-1)

系统 II 是

ATy⪰0,bTy<0(4-2)A^{T} y \succeq 0, b^{T} y < 0 \tag{4-2}ATy⪰0,bTy<0(4-2)

两件事要证:不可能同时有解,以及至少有一个有解。不可能同时有解这一半很短。反设两个系统都有解,取(4-1)的 xxx 与(4-2)的 yyy,把 b=Axb = Axb=Ax 代进(4-2)的第二个条件

bTy=(Ax)Ty=xT(ATy)(4-3)b^{T} y = (Ax)^{T} y = x^{T} (A^{T} y) \tag{4-3}bTy=(Ax)Ty=xT(ATy)(4-3)

x⪰0x \succeq 0x⪰0 且 ATy⪰0A^{T}y \succeq 0ATy⪰0,两个非负向量的点积非负,所以(4-3)的右端不小于零。这与 bTy<0b^{T}y < 0bTy<0 矛盾。

至少有一个有解这一半要靠分离定理。先看集合 {Ax∣x⪰0}\lbrace Ax \mid x \succeq 0 \rbrace{Ax∣x⪰0},它是矩阵 AAA 的列向量的全体非负加权组合,容易验证它是个凸锥,并且是闭的。闭性可以在多面体的框架里说明:{x∣x⪰0}\lbrace x \mid x \succeq 0 \rbrace{x∣x⪰0} 是多面体,它在线性映射下的像仍是多面体,而多面体是闭集。

若系统 I 有解,结论已经成立。若系统 I 无解,说明 bbb 不在这个闭凸锥里。用 3.1 的分离定理,存在非零向量 yyy 与实数 zzz 使得 yTb<zy^{T}b < zyTb<z,而对这个锥里的任意一点 sss 有 yTs>zy^{T}s > zyTs>z。原点属于这个锥,代进去得到 z<0z < 0z<0,所以

bTy<0(4-4)b^{T} y < 0 \tag{4-4}bTy<0(4-4)

再看锥里的点。任取锥中的 uuu 与 t>0t > 0t>0,由锥的性质 tututu 也在锥里,于是 yT(tu)>zy^{T}(tu) > zyT(tu)>z 对一切 t>0t > 0t>0 成立,也就是 yTu>z/ty^{T}u > z/tyTu>z/t。令 t→+∞t \to +\inftyt→+∞,得 yTu≥0y^{T}u \ge 0yTu≥0。最后把 uuu 取成 AAA 的各列。第 iii 个标准基向量 eie_iei 非负,所以 AeiAe_iAei 在锥里,对应地有 yTAei≥0y^{T}Ae_i \ge 0yTAei≥0,即 (ATy)i≥0(A^{T}y)_i \ge 0(ATy)i≥0,对每个 iii 都成立,合起来就是 ATy⪰0A^{T}y \succeq 0ATy⪰0。它连同(4-4)一起说明 yyy 是系统 II 的解。两个方向合起来,Farkas 引理成立。

图 3 把这个引理画成了几何形状。左边的锥由 AAA 的列向量的非负组合撑出,若 bbb 落在锥内,系统 I 有解;若 bbb 落在锥外,则存在一张过原点的超平面把 bbb 与锥分在两侧,这张超平面的法线方向就是系统 II 的解。

图 3:Farkas 引理

图源:《凸优化简明教程》图 2.13。

4.2 无风险套利与有效市场

Farkas 引理在金融里有一个干净的应用。考虑一个单期投资市场,有 nnn 个可以投资的项目,投资期开始时价格由向量 p∈Rnp \in \mathbb{R}^np∈Rn 给出。投资期结束时可能面对 mmm 种情形,第 iii 种情形下各项目的价格向量是 qiq_iqi,由此得到回报矩阵 R∈Rm×nR \in \mathbb{R}^{m \times n}R∈Rm×n,元素 rijr_{ij}rij 表示第 iii 种情形下第 jjj 个项目单位资金能带来的回报。

假设开始时对所有项目一次性投入 x=(x1,...,xn)x = (x_1, \dots, x_n)x=(x1,...,xn),其中 xjx_jxj 允许取负值,代表从银行借钱来投。所谓无风险套利,指的是找到这样一个 xxx,初始净支出为负而每个情形下的回报都非负

pTx<0,Rx⪰0(4-5)p^{T} x < 0, \quad R x \succeq 0 \tag{4-5}pTx<0,Rx⪰0(4-5)

(4-5)的意思很直白:不花自己的钱,任何一种情形下都不亏。把 RRR 看成 Farkas 引理里的 ATA^{T}AT,ppp 看成 bbb。(4-5)恰好是系统 II 的形状,所以由引理,不存在这样的 xxx 等价于系统 I 有解,也就是存在向量 y∈Rmy \in \mathbb{R}^my∈Rm 满足

y⪰0,RTy=p(4-6)y \succeq 0, \quad R^{T} y = p \tag{4-6}y⪰0,RTy=p(4-6)

(4-6)有几个名字。在金融里它叫有效市场假设,含义是理性的市场上各个项目的价格应当落在某种平衡上,使得无风险套利的机会被消除。yyy 的分量可以理解成对各情形赋予的权重,价格向量 ppp 必须落在这组权重下回报向量的期望位置上,落不进去就说明市场上存在套利机会。这也解释了这个条件的另一面,价格不能由回报矩阵线性表出的项目,在现实里要么很快被套利行为抹平,要么根本挂不住。

4.3 收尾

把这一篇的东西连起来看。手头拿到一个集合,先把它的三种包写清楚:仿射包、凸包、锥包,其中凸包与凸组合的等价性是可以证明的,凸包还是包含原集合的最小凸集。这一步之后,判断凸性就有了第二条路,不必每次回到定义,只要把它认成已知凸集经过保凸运算拼装的结果。

三种映射都在保凸之列:仿射映射、透视映射、线性分式映射,它们的像与原像都是凸集。线性分式映射可以看成前两者的复合,三维物体的透视成像也被这条结论盖住,凸的物体拍出来还是凸的。半正定锥配上仿射映射的原像,给出线性矩阵不等式这一类条件,工程里大量问题都能落到这个形状上,凸性有保障,求解有成熟算法。

再往前一步,凸集最有用的一条性质是能被平面切下来。分离超平面定理说,点落在闭凸集之外,就一定存在一张超平面把两者分开,而且可以分得严格;证明只用到最近点存在、最近点必是边界点这两件事。边界点上则有支撑超平面,做法是拿分离定理在边界点上取极限。两个结论合起来把闭凸集的几何形态定死了:它总能被一族半空间从外面逼近。

最后一条是 Farkas 引理。两个线性系统有且仅有一个有解,这是分离定理的直接推论,几何上说的是一个点落不落在矩阵列向量的非负组合锥里。把它搬到单期投资市场上,不存在无风险套利等价于价格向量落在回报矩阵的非负组合范围内,这就是有效市场假设的数学形式。从凸集出发走到这里,中间用到的只有分离这一件事。

相关推荐
stsdddd1 小时前
v11扑克牌数字检测数据集8992张实测:标注质量与划分比例一览
人工智能·计算机视觉·目标跟踪
商业白皮书1 小时前
2026年上海豆包DeepSeekKimi百度AI通义千问GEO服务商选择
人工智能·笔记
马剑威(威哥爱编程)1 小时前
【AI全栈后端12-09】Spring Boot 用流式输出做打字机对话:点下去不再干等
java·人工智能·spring boot·后端
怕浪猫1 小时前
Agent 的记忆系统怎么设计?面试官想听的是这个
算法·面试·github
lisw051 小时前
大数据对大数据挖掘及其处理框架带来的挑战
大数据·人工智能·数据挖掘
223糖1 小时前
AI 助手架构设计:Python Agent 和 Spring Boot 如何分工?
人工智能
数智工坊1 小时前
视觉SLAM第4讲|李群与李代数:位姿优化的数学基石
人工智能·深度学习·线性代数·cnn
落798.1 小时前
ChatGPT 的回答,也能被“结构化抓取”?
人工智能·chatgpt·亮数据
你就是答案 -1481 小时前
多轨道怎么按时间戳编辑
人工智能