第一章 凸集和凸函数

优化的重要意义

最优化是工程技术、经济管理、科学研究中经常遇 到的问题。例如:

  • 结构设计
  • 资源分配
  • 生产计划
  • 运输方案
  • 模式识别、数据挖掘、机器学习
  • 深度学习、强化学习、人工智能

解决优化问题的手段

  1. 经验积累 主观判断
  2. 做实验 比优劣
  3. 建立数学模型 求解最优策略

优化问题数学标准形式

m i n x   f 0 ( x ) s . t .   f i ( x ) ≤ 0   ( i = 1 , 2 , ⋯   , m ) h j ( x ) = 0   ( j = 1 , 2 , ⋯   , n ) \begin{aligned} \underset{x}{min}\ &f_0(x)\\ s.t.\ &f_i(x)\le0\ (i=1,2,\cdots,m)\\ &h_j(x)=0\ (j=1,2,\cdots,n) \end{aligned} xmin s.t. f0(x)fi(x)0 (i=1,2,,m)hj(x)=0 (j=1,2,,n)

  • 可行解集 X = { x ∈ R n : f i ( x ) ≤ 0 , i = 1 , 2 , ⋯   , m ; h j ( x ) = 0 , j = 1 , 2 , ⋯   , n } X=\{x\in R^n:f_i(x)\le0,i=1,2,\cdots,m;h_j(x)=0,j=1,2,\cdots,n\} X={xRn:fi(x)0,i=1,2,,m;hj(x)=0,j=1,2,,n}
  • 最优值 p ∗ = i n f { f 0 ( x ) : x ∈ X } p^*=inf\{f_0(x):x\in X\} p=inf{f0(x):xX}
  • 最优解 x ∗ ∈ X : f 0 ( x ∗ ) = p ∗ x^*\in X:f_0(x^*)=p^* xX:f0(x)=p
  • 最优解不唯一
  • 局部极小解 ∃ ϵ > 0 \exist \epsilon>0 ϵ>0,使得 ∀ x ∈ X , ∥ x − x ^ ∥ 2 < ϵ \forall x\in X,\lVert x-\hat{x}\rVert_2<\epsilon xX,xx^2<ϵ,有 f ( x ^ ) ≤ f ( x ) f(\hat{x})\le f(x) f(x^)f(x),称 x ^ \hat{x} x^ f f f的局部极小解
  • 全局极小解:如果 ∀ x ∈ X \forall x\in X xX,有 f ( x ^ ) ≤ f ( x ) f(\hat{x})\le f(x) f(x^)f(x)成立,称 x ^ \hat{x} x^ f f f的全局极小解

例子

  1. 组合优化

    • 变量:投资于不同财产的数目
    • 限制条件:预算、各项财产最大/最小投资额、最小收益
    • 目标:总投资风险最小或者总收益最大
  2. 数值拟合

    • 变量:模型参数
    • 限制条件:先验信息,参数取值范围
    • 目标:最小化拟合误差或者预测误差

求解优化问题

一般优化问题

  • 难于求解

  • 计算复杂度高、需要时间长、不总能找到最优解

特定的优化问题能够有效、可靠的求解,例如

  • 线性规划问题
  • 二次规划问题(最小二乘问题)
  • 图优化问题
  • 凸优化问题

线性规划问题(Linear Programming)

目标函数和限制函数都为线性函数,即

m i n   c 1 x 1 + c 2 x 2 + ⋯ + c n x n s . t .   a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n ≤ b i ( i = 1 , 3 , ⋯   , m ) x j ≥ 0 ( j = 1 , 2 , ⋯   , n ) \begin{aligned} min\ &c_1x_1+c_2x_2+\cdots+c_nx_n\\ s.t.\ &a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n\le b_i(i=1,3,\cdots,m)\\ &x_j\ge0(j=1,2,\cdots,n) \end{aligned} min s.t. c1x1+c2x2++cnxnai1x1+ai2x2++ainxnbi(i=1,3,,m)xj0(j=1,2,,n)

矩阵形式

m i n   c T x s . t .   A x ≤ b x ≥ 0 \begin{aligned} min\ &c^Tx\\ s.t.\ & Ax\le b\\ &x\ge0 \end{aligned} min s.t. cTxAxbx0

这里, A ∈ R m × n , c , x ∈ R n , b ∈ R m A\in R^{m\times n},c,x\in R^n,b\in R^m ARm×n,c,xRn,bRm

求解线性规划
  • 无分析解(闭式解)
  • 有效的算法及成熟的软件
  • 计算时间复杂度:如果 m ≤ n m\le n mn,则 O ( n 2 m ) O(n^2m) O(n2m),这里 x ∈ R n x\in R^n xRn.
使用线性规划

通过一些标准技巧,一些复杂问题能转化成线性规划问题。例如,含有 l 1 l_1 l1− 范数或 l ∞ l_\infin l− 范数的优化问题、分段线性优化问题等

举例

球面 S = { ( x , y , z ) ∈ R 3 : x 2 + y 2 + z 2 = 1 } S=\{(x,y,z)\in R^3:x^2+y^2+z^2=1\} S={(x,y,z)R3:x2+y2+z2=1}

椭球面 E = { ( x , y , z ) ∈ R 3 : ( x − p ) 2 a 2 + ( y − q ) 2 b 2 + ( z − r ) 2 c 2 = 1 } E=\{(x,y,z)\in R^3:\frac{(x-p)^2}{a^2}+\frac{(y-q)^2}{b^2}+\frac{(z-r)^2}{c^2}=1\} E={(x,y,z)R3:a2(xp)2+b2(yq)2+c2(zr)2=1}

求从球面到椭球面的最近欧氏距离 d ( S , E ) = m i n { d ( ( x 1 , y 1 , z 1 ) , ( x 2 , y 2 , z 2 ) ) } d(S,E)=min\{d((x_1,y_1,z_1),(x_2,y_2,z_2))\} d(S,E)=min{d((x1,y1,z1),(x2,y2,z2))},这里 ( x 1 , y 1 , z 1 ) ∈ S , ( x 2 , y 2 , z 2 ) ∈ E (x_1,y_1,z_1)\in S,(x_2,y_2,z_2)\in E (x1,y1,z1)S,(x2,y2,z2)E

该问题可转化为如下的优化问题:

m i n   ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + ( z 1 − z 2 ) 2 s . t .   x 1 2 + y 1 2 + z 1 2 = 1 ( x 2 − p ) 2 a 2 + ( y 2 − q ) 2 b 2 + ( z 2 − r ) 2 c 2 = 1 \begin{aligned} min\ &(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2\\ s.t.\ & x_1^2+y_1^2+z_1^2=1\\ &\frac{(x_2-p)^2}{a^2}+\frac{(y_2-q)^2}{b^2}+\frac{(z_2-r)^2}{c^2}=1 \end{aligned} min s.t. (x1x2)2+(y1y2)2+(z1z2)2x12+y12+z12=1a2(x2p)2+b2(y2q)2+c2(z2r)2=1

二次规划问题(Quadratic Programming)

m i n x   1 2 x T Q x + c T x s . t .   A x = b x ≥ 0 \begin{aligned} \underset{x}{min}\ &\frac12x^TQx+c^Tx\\ s.t.\ &Ax=b\\ &x\ge0 \end{aligned} xmin s.t. 21xTQx+cTxAx=bx0

这里, Q ∈ R n × n Q\in R^{n\times n} QRn×n为对称矩阵,矩阵 A ∈ R m × n , c , x ∈ R n , b ∈ R m A\in R^{m\times n},c,x\in R^n,b\in R^m ARm×n,c,xRn,bRm.

最小二乘问题(Least Square Problem)

m i n ∥ A x − b ∥ 2 2 min\lVert Ax-b\lVert_2^2 minAxb22

求解最小二乘问题

  • 分析解(闭式解): x ∗ = ( A T A ) − 1 A T b x^*=(A^TA)^{-1}A^Tb x=(ATA)1ATb

  • 有效的算法及成熟的软件

  • 计算时间复杂度 O ( n 2 m ) O(n^2m) O(n2m) A ∈ R m × n A\in R^{m\times n} ARm×n.

使用最小二乘

  • 一些标准的技术提高了其适应性。例如,增加权重、增加调整项等

凸优化问题

m i n   f 0 ( x ) s . t .   f i ( x ) ≤ b i , i = 1 , 2 , ⋯   , m \begin{aligned} min\ &f_0(x)\\ s.t.\ &f_i(x)\le b_i,i=1,2,\cdots,m \end{aligned} min s.t. f0(x)fi(x)bi,i=1,2,,m

求解凸优化问题

  • 无分析解

  • 有效、可靠的算法

使用凸优化

  • 通过一些技巧,许多问题可以转化为凸优化问题
  • 凸优化问题有一套理论较为完善的求解方法。

有关的数学知识

内积和范数

  1. n n n维实向量集合 R n R^n Rn上的标准内积: ∀ x = ( x 1 , x 2 , ⋯   , x n ) ∈ R n , y = ( y 1 , y 2 , ⋯   , y n ) ∈ R n \forall x=(x_1,x_2,\cdots,x_n)\in R^n,y=(y_1,y_2,\cdots,y_n)\in R^n x=(x1,x2,,xn)Rn,y=(y1,y2,,yn)Rn,

    < x , y > = x T y = ∑ i = 1 n x i y i \lt x,y\gt=x^Ty=\sum_{i=1}^{n}x_iy_i <x,y>=xTy=i=1nxiyi

  2. E u c l i d Euclid Euclid范数( l 2 l_2 l2-范数): ∀ x = ( x 1 , x 2 , ⋯   , x n ) ∈ R n \forall x=(x_1,x_2,\cdots,x_n)\in R^n x=(x1,x2,,xn)Rn,

    ∥ x ∥ 2 = ( x T x ) 1 2 = ( ∑ i = 1 n x i 2 ) 1 2 \lVert x\rVert_2=(x^Tx)^\frac12=(\sum_{i=1}^{n}x_i^2)^\frac12 x2=(xTx)21=(i=1nxi2)21

  3. 两个非零向量 x , y ∈ R n x,y\in R^n x,yRn的夹角:

    arg ⁡ ( x , y ) = arccos ⁡ ( x T y ∥ x ∥ 2 ∥ y ∥ 2 ) ∈ [ 0 , π ] \arg(x,y)=\arccos(\frac{x^Ty}{\lVert x\rVert_2\lVert y\rVert_2})\in[0,\pi] arg(x,y)=arccos(x2y2xTy)[0,π]

  4. C a u c h y − S c h w a r t z Cauchy-Schwartz CauchySchwartz不等式: ∀ x , y ∈ R n , ∣ x T y ∣ ≤ ∥ x ∥ 2 ∥ y ∥ 2 \forall x,y\in R^n,\lvert x^Ty\rvert\le\lVert x\rVert_2\lVert y\rVert_2 x,yRn,xTyx2y2

  5. n × n n\times n n×n对称矩阵集合 S n S_n Sn上的标准内积为, ∀ X , Y ∈ S n \forall X,Y\in S^n X,YSn,

    < X , Y > = t r ( X T Y ) = ∑ i = 1 n ∑ j = 1 n x i j y i j = ∑ i = 1 n x i i y i i + 2 ∑ i < j x i j y i j \lt X,Y\gt=tr(X^TY)=\sum_{i=1}^n\sum_{j=1}^nx_{ij}y_{ij}=\sum_{i=1}^nx_{ii}y_{ii}+2\sum_{i\lt j}x_{ij}y_{ij} <X,Y>=tr(XTY)=i=1nj=1nxijyij=i=1nxiiyii+2i<jxijyij

  6. 矩阵 X = [ x i j ] ∈ R m × n X=[x_{ij}]\in R^{m\times n} X=[xij]Rm×n F r o b e n i u s Frobenius Frobenius范数定义为

    ∥ X ∥ F = ( t r ( X T Y ) ) 1 2 = ( ∑ i = 1 m ∑ j = 1 n x i j 2 ) 1 2 \lVert X\rVert_F=(tr(X^TY))^\frac12=(\sum_{i=1}^m\sum_{j=1}^nx_{ij}^2)^\frac12 XF=(tr(XTY))21=(i=1mj=1nxij2)21

范数

范数定义:满足以下条件的函数 f : R n ↦ R , d o m f = R n f:R^n\mapsto R,domf=R^n f:RnR,domf=Rn称为范数

  • f f f是非负的: ∀ x ∈ R n \forall x\in R^n xRn,有 f ( x ) ≥ 0 f(x)\ge0 f(x)0
  • f f f是正定的:若 f ( x ) = 0 f(x)=0 f(x)=0,则 x = 0 x=0 x=0
  • f f f是齐次的: ∀ x ∈ R n , t ∈ R \forall x\in R^n,t\in R xRn,tR,有 f ( t x ) = ∣ t ∣ f ( x ) f(tx)=\lvert t\rvert f(x) f(tx)=tf(x)
  • f f f满足三角不等式: ∀ x , y ∈ R n \forall x,y\in R^n x,yRn,有 f ( x + y ) ≤ f ( x ) + f ( y ) f(x+y)\le f(x)+f(y) f(x+y)f(x)+f(y)

范数采用符号 f ( x ) = ∥ x ∥ f(x)=\lVert x\rVert f(x)=x,范数是对向量 x ∈ R n x\in R^n xRn的长度的度量

两个向量 x , y ∈ R n x,y\in R^n x,yRn之间用范数 ∥ ⋅ ∥ \lVert \cdot\rVert 表示的距离定义为

d i s t ( x , y ) = ∥ x − y ∥ dist(x,y)=\lVert x-y\rVert dist(x,y)=xy

l p l_p lp-范数

l p l_p lp-范数( p ≥ 1 p\ge 1 p1)

∥ x ∥ p = ( ∣ x 1 ∣ p + ∣ x 2 ∣ p + ⋯ + ∣ x n ∣ p ) 1 p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p \lVert x\rVert_p=(\lvert x_1\rvert^p+\lvert x_2\rvert^p+\cdots+\lvert x_n\rvert^p)^\frac1p=(\sum_{i=1}^n\lvert x_i\rvert^p)^\frac1p xp=(x1p+x2p++xnp)p1=(i=1nxip)p1

  • l 1 l1 l1-范数: ∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ \lVert x\rVert_1=\sum_{i=1}^n\lvert x_i\rvert x1=i=1nxi
  • l 2 l2 l2-范数( E u c i l d Eucild Eucild范数): ∥ x ∥ 2 = ( ∑ i = 1 n x i 2 ) 1 2 \lVert x\lVert_2=(\sum_{i=1}^nx_i^2)^\frac12 x2=(i=1nxi2)21
  • C h e b y s h e v Chebyshev Chebyshev l ∞ l_\infin l范数: ∥ x ∥ ∞ = max ⁡ { ∣ x 1 ∣ , ∣ x 2 ∣ , ⋯   , ∣ x n ∣ } \lVert x\rVert_\infin=\max\{\lvert x_1\rvert,\lvert x_2\rvert,\cdots,\lvert x_n\rvert\} x=max{x1,x2,,xn}

l 0 l_0 l0-范数: ∥ x ∥ 0 = \lVert x\rVert_0= x0=向量中非零元素的个数

二次范数

P ∈ S + + n P\in S_{++}^n PS++n,定义 P P P-二次范数如下:

∥ x ∥ p = ( x T P x ) 1 2 = ∥ p 1 2 x ∥ 2 \lVert x\rVert_p=(x^TPx)^\frac12=\lVert p^\frac12x\rVert_2 xp=(xTPx)21=p21x2

  1. 二次范数的单位球是椭圆
  2. 如果一个范数的单位球是椭圆,该范数是二次范数
矩阵范数
  1. 矩阵 X = [ x i j ] ∈ R m × n X=[x_{ij}]\in R^{m\times n} X=[xij]Rm×n F r o b e n i u s Frobenius Frobenius范数

    ∥ X ∥ F = ( t r ( X T Y ) ) 1 2 = ( ∑ i = 1 m ∑ j = 1 n x i j 2 ) 1 2 \lVert X\rVert_F=(tr(X^TY))^\frac12=(\sum_{i=1}^m\sum_{j=1}^nx_{ij}^2)^\frac12 XF=(tr(XTY))21=(i=1mj=1nxij2)21

  2. 矩阵 X = [ x i j ] ∈ R m × n X=[x_{ij}]\in R^{m\times n} X=[xij]Rm×n的绝对值之和范数

    ∥ X ∥ s a v = ∑ i = 1 m ∑ j = 1 n ∣ x i j ∣ \lVert X\rVert_{sav}=\sum_{i=1}^m\sum_{j=1}^n\lvert x_{ij}\rvert Xsav=i=1mj=1nxij

  3. 矩阵 X = [ x i j ] ∈ R m × n X=[x_{ij}]\in R^{m\times n} X=[xij]Rm×n的最大绝对值范数

    ∥ X ∥ m a v = max ⁡ { ∣ x i j ∣ : i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n } \lVert X\rVert_{mav}=\max\{\lvert x_{ij}\rvert:i=1,2,\cdots,m;j=1,2,\cdots,n\} Xmav=max{xij:i=1,2,,m;j=1,2,,n}

范数的等价性

∥ ⋅ ∥ a \lVert\cdot\rVert_a a ∥ ⋅ ∥ b \lVert\cdot\rVert_b b R n R^n Rn上的范数,则存在正常数 α , β \alpha,\beta α,β对所有的 x ∈ R n x\in R^n xRn,有

α ∥ x ∥ a ≤ ∥ x ∥ b ≤ β ∥ x ∥ a \alpha\lVert x\rVert_a\le\lVert x\rVert_b\le\beta\lVert x\rVert_a αxaxbβxa

  • 任何有限维向量空间上的范数都是等价的
  • 推论:任意范数可由 E u c l i d Euclid Euclid范数进行界定,即存在常数 γ ∈ ( 0 , 1 ] \gamma\in(0,1] γ(0,1],使得

∥ x ∥ ≥ γ ∥ x ∥ 2 \lVert x\rVert\ge\gamma\lVert x\rVert_2 xγx2

对偶范数

定义:令 ∥ ⋅ ∥ \lVert\cdot\rVert R n R^n Rn上的范数,其对偶范数 ∥ ⋅ ∥ ∗ \lVert\cdot\rVert_* 定义为

∥ z ∥ ∗ = sup ⁡ { z T x : ∥ x ∥ ≤ 1 } = sup ⁡ { z T x : ∥ x ∥ = 1 } \lVert z\rVert_*=\sup\{z^Tx:\lVert x\rVert\le1\}=\sup\{z^Tx:\lVert x\rVert=1\} z=sup{zTx:x1}=sup{zTx:x=1}

范数的对偶
  • l 2 l_2 l2-范数: ∥ z ∥ ∗ = sup ⁡ { z T x : ∥ x ∥ 2 = 1 } = ∥ z ∥ 2 \lVert z\rVert_*=\sup\{z^Tx:\lVert x\rVert_2=1\}=\lVert z\rVert_2 z=sup{zTx:x2=1}=z2
  • l 1 l_1 l1-范数: ∥ z ∥ ∗ = s u p { z T x : ∥ x ∥ 1 = 1 } = max ⁡ { z 1 , z 2 } = ∥ z ∥ ∞ \lVert z\rVert_*=sup\{z^Tx:\lVert x\rVert_1=1\}=\max\{z_1,z_2\}=\lVert z\rVert_\infin z=sup{zTx:x1=1}=max{z1,z2}=z
  • l ∞ l_\infin l-范数: ∥ z ∥ ∗ = s u p { z T x : ∥ x ∥ ∞ = 1 } = ∥ z ∥ 1 \lVert z\rVert_*=sup\{z^Tx:\lVert x\rVert_\infin=1\}=\lVert z\rVert_1 z=sup{zTx:x=1}=z1
  • l p l_p lp-范数: ∥ z ∥ ∗ = s u p { z T x : ∥ x ∥ p = 1 } = ∥ z ∥ q \lVert z\rVert_*=sup\{z^Tx:\lVert x\rVert_p=1\}=\lVert z\rVert_q z=sup{zTx:xp=1}=zq当且仅当 1 p + 1 q = 1 \frac1p+\frac1q=1 p1+q1=1
对偶范数的性质
  • 性质 1: z T x ≤ ∥ x ∥ ⋅ ∥ z ∥ ∗   ( ∀ x ) z^Tx\le\lVert x\rVert\cdot\lVert z\rVert_*\ (\forall x) zTxxz (x)
  • 性质 2:对偶范数的对偶范数为原范数,即 ∥ x ∥ ∗ ∗ = ∥ x ∥ \lVert x\rVert_{**}=\lVert x\rVert x=x
导数

假定: f : R n ↦ R m , x ∈ i n t   d o m f f:R^n\mapsto R^m,x\in int\ domf f:RnRm,xint domf。函数 f f f x x x处可微,则存在矩阵 D f ( x ) ∈ R m × n Df(x)\in R^{m\times n} Df(x)Rm×n满足

l i m z ∈ d o m f , z ≠ x , z → x ∥ f ( z ) − f ( x ) − D f ( x ) ( z − x ) ∥ 2 ∥ z − x ∥ 2 = 0 \underset{z\in domf,z\neq x,z\rightarrow x}{lim}\frac{\lVert f(z)-f(x)-Df(x)(z-x)\rVert_2}{\lVert z-x\rVert_2}=0 zdomf,z=x,zxlimzx2f(z)f(x)Df(x)(zx)2=0

  • D f ( x ) ∈ R m × n Df(x)\in R^{m\times n} Df(x)Rm×n称为 f f f x x x处的导数(或 J a c o b i a n Jacobian Jacobian矩阵)
  • 偏导数: D f ( x ) i j = ∂ f i ( x ) ∂ x i , i = 1 , 2 , ⋯   , m ; j = 1 , 2 , ⋯   , n Df(x)_{ij}=\frac{\partial f_i(x)}{\partial x_i},i=1,2,\cdots,m;j=1,2,\cdots,n Df(x)ij=xifi(x),i=1,2,,m;j=1,2,,n

f f f x x x处以 z z z为变量的一次逼近为: f ‾ ( z ) = f ( x ) + D f ( x ) ( z − x ) \overline{f}(z)=f(x)+Df(x)(z-x) f(z)=f(x)+Df(x)(zx)

梯度

实函数: f : R n → R , x ∈ i n t   d o m f f:R^n\rightarrow R,x\in int\ domf f:RnR,xint domf的导数为行向量 D f ( x ) ∈ R 1 × n Df(x)\in R^{1\times n} Df(x)R1×n,其转置称为函数的梯度,即

∇ f ( x ) = D f ( x ) T ∈ R n \nabla f(x)=Df(x)^T\in R^n f(x)=Df(x)TRn

这里 ∇ f ( x ) i = ∂ f ( x ) ∂ x i , i = 1 , 2 , ⋯   , n \nabla f(x)_i=\frac{\partial f(x)}{\partial x_i},i=1,2,\cdots,n f(x)i=xif(x),i=1,2,,n

f f f x ∈ i n t   d o m f x\in int\ domf xint domf处以 z z z为变量的一次逼近: f ‾ ( z ) = f ( x ) + ∇ f ( x ) T ( z − x ) \overline{f}(z)=f(x)+\nabla f(x)^T(z-x) f(z)=f(x)+f(x)T(zx)

凸集

定义

凸集的定义:集合 C ∈ R n C\in R^n CRn称为凸集,如果 ∀ x , y ∈ C \forall x,y\in C x,yC ∀ θ ∈ [ 0 , 1 ] \forall \theta\in[0,1] θ[0,1],有

z = θ x + ( 1 − θ ) y ∈ C z=\theta x+(1-\theta)y\in C z=θx+(1θ)yC

凸集中任意两点的连线仍在该集合中

多个点 x 1 , x 2 , ⋯   , x m ∈ C x_1,x_2,\cdots,x_m\in C x1,x2,,xmC的凸组合定义为:

{ z : z = ∑ i = 1 m λ i x i , ∀ λ i ≥ 0 , ∑ i = 1 m λ i = 1 } \{z:z=\sum_{i=1}^m\lambda_ix_i,\forall\lambda_i\ge0,\sum_{i=1}^m\lambda_i=1\} {z:z=i=1mλixi,λi0,i=1mλi=1}

性质

  • 凸集合的交运算:令 { C i : i ∈ I } \{C_i:i\in I\} {Ci:iI}是凸集的集合,那么 ∩ i ∈ I C i \cap_{i\in I}C_i iICi是凸集
  • 凸集合的和运算:令 C 1 , C 2 C_1,C_2 C1,C2为凸集合,则 { x 1 + x 2 : x 1 ∈ C 1 , x 2 ∈ C 2 } \{x_1+x_2:x_1\in C_1,x_2\in C_2\} {x1+x2:x1C1,x2C2}是凸集
  • 仿射函数保凸集:仿射函数 f ( x ) = A x + b f(x)=Ax+b f(x)=Ax+b,这里 A ∈ R m × n , b ∈ R m A\in \mathbb R^{m\times n},b\in\mathbb R^m ARm×n,bRm
    • S ⊆ R n S\subseteq\mathbb R^n SRn是凸集 ⇒ f ( S ) = { f ( x ) : x ∈ S } \Rightarrow f(S)=\{f(x):x\in S\} f(S)={f(x):xS}是凸集
    • S ⊆ R m S\subseteq\R^m SRm是凸集 ⇒ f − 1 ( S ) = { x ∈ R n : f ( S ) ∈ S } \Rightarrow f^{-1}(S)=\{x\in \R^n:f(S)\in S\} f1(S)={xRn:f(S)S}是凸集

凸函数

定义

凸函数(Convex Function):

令集合 C ⊆ R n C\subseteq\R^n CRn是一凸集。 ∀ x , y ∈ C , ∀ λ ∈ [ 0 , 1 ] \forall x,y\in C,\forall\lambda\in[0,1] x,yC,λ[0,1],如果函数 f : C → R f:C\rightarrow\R f:CR满足以下条件

f ( λ x + ( 1 − λ ) y ) ≤ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x+(1-\lambda)y)\le\lambda f(x)+(1-\lambda)f(y) f(λx+(1λ)y)λf(x)+(1λ)f(y)

f f f为凸函数。

凹函数(Concave Function):

令集合 C ⊆ R n C\subseteq\R^n CRn是一凸集。 ∀ x , y ∈ C , ∀ λ ∈ [ 0 , 1 ] \forall x,y\in C,\forall\lambda\in[0,1] x,yC,λ[0,1],如果函数 f : C → R f:C\rightarrow\R f:CR满足以下条件

f ( λ x + ( 1 − λ ) y ) ≥ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x+(1-\lambda)y)\ge\lambda f(x)+(1-\lambda)f(y) f(λx+(1λ)y)λf(x)+(1λ)f(y)

f f f为凹函数。

定理:函数 f : C → R f:C\rightarrow\R f:CR是凹函数当且仅当函数 − f -f f是凸函数

严格凸函数(Strictly Convex):

严格凹函数(Strictly Concave):

一阶判定

定理: C ⊆ R n C\subseteq\R^n CRn为凸集且函数 f : C → R f:C\rightarrow\R f:CR在集合 C C C上可微,那么

  1. 函数 f f f是凸函数当且仅当 ∀ x , y ∈ C \forall x,y\in C x,yC,有

    f ( y ) ≥ f ( x ) + ∇ T f ( x ) ( y − x ) f(y)\ge f(x)+\nabla^Tf(x)(y-x) f(y)f(x)+Tf(x)(yx)

  2. 如果 ∀ x , y ∈ C \forall x,y\in C x,yC x ≠ y , f ( y ) > f ( x ) + ∇ T f ( x ) ( y − x ) x\neq y,f(y)\gt f(x)+\nabla^Tf(x)(y-x) x=y,f(y)>f(x)+Tf(x)(yx),那么函数 f f f是严格凸函数

二阶判定

定理: C ⊆ R n C\subseteq\R^n CRn为凸集(开集)且函数 f : C → R f:C\rightarrow\R f:CR在集合 C C C上二阶连续可微,那么

  1. 函数 f f f是凸函数当且仅当 ∀ x ∈ C , ∇ 2 f ( x ) \forall x\in C,\nabla^2f(x) xC,2f(x)为对称半正定矩阵
  2. 如果 ∀ x ∈ C , ∇ 2 f ( x ) \forall x\in C,\nabla^2f(x) xC,2f(x)为对称正定矩阵,那么函数 f f f是严格凸函数

这里, ∀ x = [ x 1 , x 2 , ⋯   , x n ] ∈ C \forall x=[x_1,x_2,\cdots,x_n]\in C x=[x1,x2,,xn]C,函数 f f f的 Hessian 矩阵 ∇ 2 f ( x ) ∈ R n × n \nabla^2f(x)\in\R^{n\times n} 2f(x)Rn×n定义为

( ∇ 2 f ( x ) ) i j = ∂ 2 f ( x ) ∂ x i ∂ x j    ( i , j = 1 , 2 , ⋯   , n ) (\nabla^2f(x))_{ij}=\frac{\partial^2f(x)}{\partial x_i\partial x_j}\ \ (i,j=1,2,\cdots,n) (2f(x))ij=xixj2f(x)  (i,j=1,2,,n)

推论: C ⊆ R n C\subseteq\R^n CRn为凸集且函数 f : C → R f:C\rightarrow\R f:CR定义为 f ( X ) = x T Q x + 2 p T x + r f(X)=x^TQx+2p^Tx+r f(X)=xTQx+2pTx+r,这里, Q ∈ S n Q\in S^n QSn为对称矩阵,那么

  1. 函数 f f f是凸函数当且仅当 Q Q Q为对称半正定矩阵
  2. f f f是凹函数当且仅当 Q Q Q为对称半负定矩阵
  3. 函数 f f f是严格凸(凹)函数当且仅当 Q Q Q为对称正(负)定矩阵
  4. 否则,函数 f f f为非凸非凹函数

性质

  • 非负乘积保持凸性: ∀ α ≥ 0 \forall\alpha\geq0 α0,如果函数 f f f是定义在 C C C上的凸函数,则函数 g ( x ) = α f ( x ) g(x)=\alpha f(x) g(x)=αf(x)是凸函数

  • 和运算保持凸性:如果函数 f 1 , f 2 f_1,f_2 f1,f2为凸函数,那么函数 g ( x ) = f 1 ( x ) + f 2 ( x ) g(x) = f_1(x)+f_2(x) g(x)=f1(x)+f2(x)为凸函数

  • C ∈ R n C\in R^n CRn为凸集且 { f i : C → R ∣ i ∈ I } \{f_i:C\rightarrow\R|i\in I\} {fi:CRiI}是凸函数的集合,则其权重和 f = ∑ i ∈ I w i f i f=\sum_{i\in I}w_if_i f=iIwifi是凸函数,这里权重 w i ≥ 0 , ∀ i ∈ I w_i\geq0,\forall i\in I wi0,iI

  • f f f是定义在凸集 C ⊆ R n C\subseteq\R^n CRn上的凸函数,则 g : B → R , g ( x ) = f ( A x + b ) , B = { A x + b : x ∈ C } g:B\rightarrow\R,g(x)=f(Ax+b),B=\{Ax+b:x\in C\} g:BR,g(x)=f(Ax+b),B={Ax+b:xC}是凸函数

  • 函数 f ( x , y ) f(x,y) f(x,y)是定义在集合 Z = { ( x T , y T ) T : x ∈ R m , y ∈ R n } Z=\{(x^T,y^T)^T:x\in\R^m,y\in\R^n\} Z={(xT,yT)T:xRm,yRn}上的凸函数。则对凸集合 C C C,有 g ( x ) = inf ⁡ y ∈ C f ( x , y ) g(x)=\underset{y\in C}{\inf}f(x,y) g(x)=yCinff(x,y)是凸函数

  • 如何对于任意的 y ∈ A , f ( x , y ) y\in A,f(x,y) yA,f(x,y)是关于 x x x的凸函数,那么 g ( x ) = sup ⁡ y ∈ A f ( x , y ) g(x)=\underset{y\in A}{\sup} f(x,y) g(x)=yAsupf(x,y)是凸函数。

  • 共轭函数:函数 f : R n → R f:\R^n\rightarrow\R f:RnR的共轭函数 f ∗ : R n → R f^*:\R^n\rightarrow\R f:RnR定义为:仿射函数 y T x y^Tx yTx f ( x ) f(x) f(x)之间的最大差值,即 f ∗ ( x ) = sup ⁡ x ∈ d o m f ( y T x − f ( x ) ) f^*(x)=\underset{x\in domf}{\sup}(y^Tx-f(x)) f(x)=xdomfsup(yTxf(x))

    • 如果函数 f f f可微,在满足 f ′ ( x ) = y f'(x)=y f(x)=y的点 x x x处差值最大。
    • 对于任意函数 f f f,其共轭函数 f ∗ f^* f为凸函数1
  • C ∈ R n C\in R^n CRn为凸集且 { f i : C → R ∣ i ∈ I } \{f_i:C\rightarrow R|i\in I\} {fi:CRiI}是凸函数的集合,那么函数 h : C → R , h ( x ) = sup ⁡ i ∈ I f i ( x ) h:C\rightarrow\R,h(x)=\underset{i\in I}{\sup}f_i(x) h:CR,h(x)=iIsupfi(x)是凸函数。当 I I I是有限指标集合时,
    h ( x ) = sup ⁡ i ∈ I f i ( x ) = max ⁡ { f 1 ( x ) , f 2 ( x ) , ⋯   , f n ( x ) } h(x)=\underset{i\in I}{\sup}f_i(x)=\max\{f_1(x),f_2(x),\cdots,f_n(x)\} h(x)=iIsupfi(x)=max{f1(x),f2(x),,fn(x)}

Jensen’s Inequality

C ∈ R n C\in\R^n CRn为凸集且 f ( x ) , x ∈ C f(x),x\in C f(x),xC是凸函数。 ∀ x 1 , x 2 , ⋯   , x k ∈ C , ∀ λ 1 , λ 2 , ⋯   , λ k ≥ 0 \forall x_1,x_2,\cdots,x_k\in C,\forall\lambda_1,\lambda_2,\cdots,\lambda_k\geq0 x1,x2,,xkC,λ1,λ2,,λk0 λ 1 + λ 2 + ⋯ + λ k = 1 ( k ≥ 2 ) \lambda_1+\lambda_2+\cdots+\lambda_k=1(k\geq2) λ1+λ2++λk=1(k2),有
f ( ∑ i = 1 k λ i x i ) ≤ ∑ i = 1 k λ i f ( x i ) f(\sum_{i=1}^k\lambda_ix_i)\leq\sum_{i=1}^k\lambda_if(x_i) f(i=1kλixi)i=1kλif(xi)

  • 积分形式: f ( ∫ p ( x ) x d x ) ≤ ∫ p ( x ) f ( x ) d x f(\int p(x)xdx)\leq\int p(x)f(x)dx f(p(x)xdx)p(x)f(x)dx,这里 ∫ p ( x ) d x = 1 , p ( x ) ≥ 0 , ∀ x ∈ C \int p(x)dx=1,p(x)\geq0,\forall x\in C p(x)dx=1,p(x)0,xC
  • 概率形式: f ( E [ x ] ) ≤ E [ f ( x ) ] f(E[x])\leq E[f(x)] f(E[x])E[f(x)]

透视函数

透视函数 P : R n + 1 → R n P:\R^{n+1}\rightarrow\R^n P:Rn+1Rn定义为: P ( z , t ) = z t , d o m P = R n × R + + P(z,t)=\frac zt,domP=\R^n\times\R_{++} P(z,t)=tz,domP=Rn×R++

  • 透视函数对向量进行伸缩,或称为规范化,使得最后一维分量为1并舍弃之
  • 定义在凸集上的透视函数的象仍然是凸集

函数 f : R n → R f:\R^n\rightarrow\R f:RnR的透视函数 g : R n × R → R g:\R^n\times\R\rightarrow\R g:Rn×RR定义为:
g ( x , t ) = t f ( x t ) ,   d o m g = { ( x , t ) : x t ∈ d o m f , t > 0 } g(x,t)=tf(\frac xt),\ domg=\{(x,t):\frac xt\in domf,t>0\} g(x,t)=tf(tx), domg={(x,t):txdomf,t>0}

  • 如果函数 f f f是凸函数,那么其透视函数 g g g也是凸函数

凸函数的判定方法总结

  • 定义: f ( λ x + ( 1 − λ ) y ) ≤ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x+(1-\lambda)y)\leq\lambda f(x)+(1-\lambda)f(y) f(λx+(1λ)y)λf(x)+(1λ)f(y)
  • 一阶判定: f ( y ) ≥ f ( x ) + ∇ T f ( x ) ( y − x ) f(y)\geq f(x)+\nabla^Tf(x)(y-x) f(y)f(x)+Tf(x)(yx)
  • 二阶判定: ∀ x ∈ C , ∇ 2 f ( x ) \forall x\in C,\nabla^2f(x) xC,2f(x)为对称半正定矩阵
  • 保凸函数运算

优化问题

凸优化问题数学标准形式

min ⁡ x   f 0 ( x ) s . t .   f i ( x ) ≤ 0   ( i = 1 , 2 , ⋯   , m ) h j ( x ) = 0   ( j = 1 , 2 , ⋯   , n ) \begin{aligned} \underset{x}{\min}\ &f_0(x)\\ s.t.\ &f_i(x)\leq0\ (i=1,2,\cdots,m)\\ &h_j(x)=0\ (j=1,2,\cdots,n) \end{aligned} xmin s.t. f0(x)fi(x)0 (i=1,2,,m)hj(x)=0 (j=1,2,,n)

  • 目标函数为凸函数
  • 不等式限制为凸函数
  • 等式限制函数为仿射函数

  1. 参考这两篇文章:共轭函数两个性质的证明凸优化理论:共轭函数 ↩︎

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐