凸优化——前戏

凸优化的内容较多,不打算一次编辑完,先把“几何体的表达”以及“仿射集和凸集”梳理清楚。

几何体的向量表达(铺路)

给定二维平面上两个定点: a ( u 1 , v 2 ) , b ( u 1 , v 2 ) \bm a(u_1,v_2),\bm b(u_1,v_2) a(u1,v2),b(u1,v2),则:

  • 直线: x ⃗ = θ ⋅ a ⃗ + ( 1 − θ ) b ⃗ , θ ∈ R \vec{x}=\theta·\vec{a}+(1-\theta)\vec b,\theta \in \mathbb R x =θa +(1θ)b ,θR
  • 线段: x ⃗ = θ ⋅ a ⃗ + ( 1 − θ ) b ⃗ , θ ∈ [ 0 , 1 ] \vec{x}=\theta·\vec{a}+(1-\theta)\vec b,\theta \in \mathbb [0,1] x =θa +(1θ)b ,θ[0,1]

推广到高维:

  • 三维中二维平面: x ⃗ = θ 1 ⋅ a 1 ⃗ + ( θ 2 ) a ⃗ 2 + ( θ 3 ) a ⃗ 3 , θ 1 , θ 2 , θ 3 ∈ R , θ 1 + θ 2 + θ 3 = 1 \vec{x}=\theta_1·\vec{a_1}+(\theta_2)\vec a_2+(\theta_3)\vec a_3,\theta_1,\theta_2,\theta_3 \in \mathbb R,\theta_1+\theta_2+\theta_3=1 x =θ1a1 +(θ2)a 2+(θ3)a 3,θ1,θ2,θ3R,θ1+θ2+θ3=1
  • 三维中二维平面三角形: x ⃗ = θ 1 ⋅ a 1 ⃗ + ( θ 2 ) a ⃗ 2 + ( θ 3 ) a ⃗ 3 , θ 1 , θ 2 , θ 3 ∈ [ 0 , 1 ] , θ 1 + θ 2 + θ 3 = 1 \vec{x}=\theta_1·\vec{a_1}+(\theta_2)\vec a_2+(\theta_3)\vec a_3,\theta_1,\theta_2,\theta_3 \in [0,1],\theta_1+\theta_2+\theta_3=1 x =θ1a1 +(θ2)a 2+(θ3)a 3,θ1,θ2,θ3[0,1],θ1+θ2+θ3=1
  • 超平面: x ⃗ = θ 1 ⋅ a 1 ⃗ + ( θ 2 ) a ⃗ 2 + ⋯ + ( θ k ) a ⃗ k , θ 1 , θ 2 , ⋯   , θ 3 ∈ R , θ 1 + θ 2 + ⋯ + θ 3 = 1 \vec{x}=\theta_1·\vec{a_1}+(\theta_2)\vec a_2+\cdots+(\theta_k)\vec a_k,\theta_1,\theta_2,\cdots,\theta_3 \in \mathbb R,\theta_1+\theta_2+\cdots+\theta_3=1 x =θ1a1 +(θ2)a 2++(θk)a k,θ1,θ2,,θ3R,θ1+θ2++θ3=1
  • 超几何体(超平面中的一部分): x ⃗ = θ 1 ⋅ a 1 ⃗ + ( θ 2 ) a ⃗ 2 + ⋯ + ( θ k ) a ⃗ k , θ 1 , θ 2 , ⋯   , θ 3 ∈ [ 0 , 1 ] , θ 1 + θ 2 + ⋯ + θ 3 = 1 \vec{x}=\theta_1·\vec{a_1}+(\theta_2)\vec a_2+\cdots+(\theta_k)\vec a_k,\theta_1,\theta_2,\cdots,\theta_3 \in [0,1],\theta_1+\theta_2+\cdots+\theta_3=1 x =θ1a1 +(θ2)a 2++(θk)a k,θ1,θ2,,θ3[0,1],θ1+θ2++θ3=1

仿射集(Affine set)

定义:通过集合 C C C中任意两个不同点的直线仍然在集合 C C C
∀ x 1 , x 2 ∈ C , ∀ θ ∈ R , 则 x = θ ⋅ x 1 + ( 1 − θ ) ⋅ x 2 ∈ C \forall \bm x_1,\bm x_2\in\bm C,\forall\theta\in\mathbb R,则x=\theta·\bm x_1+(1-\theta)·\bm x_2\in\bm C x1,x2C,θR,x=θx1+(1θ)x2C这就好比在 R n \mathbb R^n Rn维空间中子空间的定义一样,要求子空间满足加法和数乘的封闭性。

仿射集的例子:直线,平面,超平面(可见仿射集是一个集合无限大的概念)

  • 超平面: A x = b A\bm x=\bm b Ax=b
    • 三维空间中平面的表达: ( a , b , c ) ⋅ ( x − x 0 , y − y 0 , z − z 0 ) = 0 (a,b,c)·(x-x_0,y-y_0,z-z_0)=0 (a,b,c)(xx0,yy0,zz0)=0其中 ( a , b , c ) (a,b,c) (a,b,c)为该平面的法向量 n , ( x 0 , y 0 , z 0 ) \bm n,(x_0,y_0,z_0) n,(x0,y0,z0)为该平面上的定点 x 0 \bm x_0 x0进一步可得: n x T = m \bm n\bm x^T=m nxT=m其中, m = n x 0 T m=\bm n\bm x_0^T m=nx0T。超平面可以这么类比,其中 A A A是该超平面的法向量。
  • f ( x ) = 0 f(\bm x)=0 f(x)=0表示定义域在 R n \mathbb R^n Rn上的超曲面,超平面是超曲面的一种特殊形式,超平面内部的表达式最高为一次项。
  • 三维空间的平面是二维的, n n n维空间的 n − 1 n-1 n1维仿射集为 n − 1 n-1 n1维超平面。因此我们可以这么说,仿射集就是超平面

凸集

定义:集合 C \bm C C内任意两点间的线段均在集合 C \bm C C内,则称集合 C \bm C C为凸集
∀ x 1 , x 2 ∈ C , ∀ θ ∈ [ 0 , 1 ] , 则 x = θ ⋅ x 1 + ( 1 − θ ) ⋅ x 2 ∈ C \forall \bm x_1,\bm x_2\in\bm C,\forall\theta\in[0,1],则x=\theta·\bm x_1+(1-\theta)·\bm x_2\in\bm C x1,x2C,θ[0,1],x=θx1+(1θ)x2C与仿射集相比,凸集的定义限制更为严格,且凸集既可以是有限空间,又可以是无限空间,仿射集一定是凸集,凸集不一定是仿射集

k k k个点的凸集定义版本:
∀ x 1 , x 2 , ⋯   , x k ∈ C , θ i ∈ [ 0 , 1 ] , 且 ∑ i = 1 k θ i = 1 , 则 ∑ i = 1 k θ i x i ∈ C \forall \bm x_1,\bm x_2,\cdots,\bm x_k\in\bm C,\theta_i\in[0,1],且\sum^k_{i=1}\theta_i=1,则\sum^k_{i=1}\theta_i\bm x_i\in \bm C x1,x2,,xkC,θi[0,1],i=1kθi=1,i=1kθixiC这两种表述是一样的。

凸集示意:
在这里插入图片描述
凸包:集合 C \bm C C的所有点的凸组合形成的集合,称为集合 C \bm C C的凸包。 c o n v C = { ∑ i = 1 k θ i x i ∣ x i ∈ C , θ i ≥ 0 , ∑ i = 1 k θ i = 0 } conv \quad\bm C=\left\{\sum^k_{i=1}\theta_i\bm x_i|\bm x_i\in\bm C,\theta_i\ge0,\sum^k_{i=1}\theta_i=0\right\} convC={i=1kθixixiC,θi0,i=1kθi=0}因此,集合 C \bm C C的凸包是能够包含 C \bm C C的最小凸集。

超平面、半空间和多面体
  • 超平面hyperplane { x ∣ a T x = b } \{\bm x|\bm{a^Tx}=b\} {xaTx=b}

  • 半空间halfspace { x ∣ a T x ≥ b } { x ∣ a T x ≤ b } \{\bm x|\bm{a^Tx}\ge b\}\quad\{\bm x|\bm{a^Tx}\le b\} {xaTxb}{xaTxb}
    在这里插入图片描述

  • 欧式球和椭球

    • 欧式求 B ( x c , r ) = { x ∣ ∥ x − x c ∥ 2 ≤ r } = { x ∣ ( x − x c ) T ( x − x c ) ≤ r 2 } \bm B(\bm x_c,r)=\{\bm x|\|\bm x-\bm x_c\|_2\le r\}\\=\{\bm x|(\bm x-\bm x_c)^T(\bm x-\bm x_c)\le r^2\} B(xc,r)={xxxc2r}={x(xxc)T(xxc)r2}
    • 椭球 E = { x ∣ ( x − x c ) T P ( x − x c ) ≤ r 2 } \bm E=\{\bm x|(\bm x-\bm x_c)^T\bm P(\bm x-\bm x_c)\le r^2\} E={x(xxc)TP(xxc)r2} P \bm P P为对称正定矩阵。通过对比二维平面的椭圆方程 x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2}+\frac{y^2}{b^2}=1 a2x2+b2y2=1来理解。
  • 范数球和范数锥

    • 范数球 B ( x c , r ) = { x ∣ ∥ x − x c ∥ 2 ≤ r } \bm B(\bm x_c,r)=\{\bm x|\|\bm x-\bm x_c\|_2\le r\} B(xc,r)={xxxc2r}
    • 范数锥 { ( x , t ) ∣ ∥ x ∥ ≤ t } \{(\bm x,t)|\|\bm x\|\le t\} {(x,t)xt}范数锥表示的空间显然是锥的内部空间。
  • 多面体

    • 多面体是有限个半空间超平面的交集
      P = { x ∣ a j T x ≤ b j , ∣ c j T x = d j , } \bm P=\{\bm x|\bm{a^T_jx}\le b_j,|\bm{c^T_jx}=d_j,\} P={xajTxbj,cjTx=dj,}
    • 仿射集(如直线、平面和超平面)、射线、线段、半空间都是多面体。
    • 显然,多面体是凸集
凸集具有的重要性质

S 1 ⊆ R n \bm S_1\subseteq\mathbb R^n S1Rn S 2 ⊆ R m \bm S_2\subseteq\mathbb R^m S2Rm是凸集,并且 f ( x ) : R n → R m 为 仿 射 函 数 f ( x ) = A x + b \bm f(\bm x):\mathbb R^n\to\mathbb R^m为仿射函数\bm f(\bm x)=\bm{Ax+b} f(x):RnRm仿f(x)=Ax+b,则以下运算为凸集:

  1. 任意多个凸集的交集(其中 m = n m=n m=n)仍然是凸集。 √ \surd
  2. 和集 S 1 + S 1 = { z = x + y ∣ x ∈ S 1 , y ∈ S 2 } ( 其 中 m = n ) \bm S_1+\bm S_1=\{\bm{z=x+y}|\bm{x\in\bm S_1,y\in\bm S_2}\}(其中m=n) S1+S1={z=x+yxS1,yS2}(m=n)为凸集。 √ \surd
  3. 直和 S 1 ⊕ S 2 = { ( x , y ) ∈ R n + m ∣ x ∈ S 1 , y ∈ S 2 } \bm S_1\oplus\bm S_2=\{\bm{(x,y)}\in \mathbb R^{n+m}|\bm{x\in\bm S_1,y\in\bm S_2}\} S1S2={(x,y)Rn+mxS1,yS2}为凸集。 √ \surd
  4. 锥包 K ( S 1 ) = { z ∈ R n ∣ z = β x , x ∈ S 1 , β ≥ 0 } \mathcal K(\bm S_1)=\{\bm z\in \mathbb R^{n}|\bm{z=\beta \bm x,x\in\bm S_1},\beta\ge0\} K(S1)={zRnz=βx,xS1,β0}为凸集。
  5. 仿射象 f ( S 1 ) = { y ∈ R m ∣ y = f ( x ) , x ∈ S 1 } \bm f(\bm S_1)=\{\bm y\in\mathbb R^m|\bm y=\bm f(\bm x),\bm{x\in S_1}\} f(S1)={yRmy=f(x),xS1}为凸集。
  6. 逆仿射象 f − 1 ( S 2 ) = { x ∈ R n ∣ x = f − 1 ( x ) , x ∈ S 1 } \bm f^{-1}(\bm S_2)=\{\bm x\in\mathbb R^n|\bm x=\bm f^{-1}(\bm x),\bm{x\in S_1}\} f1(S2)={xRnx=f1(x),xS1}为凸集。
  7. 维数相同的两个凸集 ( m = n ) (m=n) (m=n)的凸组合形成的集合是凸集,这是凸包的外延。

仿射变换

  • 仿射变换是在线性变换的基础上加一个平移项,公式为: f ( x ) = A x + b , A ∈ R m × n , b ∈ R m \bm {f(x)}=A\bm x+\bm b,A\in\mathbb R^{m\times n},\bm b\in\mathbb R^m f(x)=Ax+b,ARm×n,bRm,其中 A x A\bm x Ax可以起到对向量 x \bm x x的伸缩、旋转和投影等操作,向量 b \bm b b起到平移的作用。
  • f \bm f f是放射变换, f : R n → R m , f ( S ) = { f ( x ) ∣ x ∈ S } \bm f:\mathbb R^n\to\mathbb R^m,\bm f(\bm S)=\{\bm f(\bm x)|\bm x\in\bm S\} f:RnRmf(S)={f(x)xS}:
    • S \bm S S为凸集,则 f ( S ) \bm f(\bm S) f(S)为凸集。
    • f ( S ) \bm f(\bm S) f(S)为凸集,则 S \bm S S为凸集。

透视变换和投射函数

  • 透视变换(Perspective Transformation):透视函数对向量进行伸缩,使得最后一位的分量为1并舍弃之,公式: P : R n + 1 → R n , P ( ( z t ) ) = z t \bm P:\mathbb R^{n+1}\to\mathbb R^n,\bm P(\begin{pmatrix}\bm z \\ t \end{pmatrix})=\frac{\bm z}{t} P:Rn+1Rn,P((zt))=tz可见,透视变换是把一个向量以最后一个元素为视角进行看待,这也符合透视的定义,我们做透视总要以某一个点为基础进行绘制才能产生景深和距离的效果,才能体现出不同元素的大小和离当前基准点的远近。

    • 凸集的透视变换仍然是凸集
    • 但是反过来就不对,即某集合的透视变换是凸集,这个集合不一定是凸集。
  • 投射函数
    也称“线性分式函数”:是透视函数和仿射函数的复合。

    令 A ∈ R m × n , b ∈ R m , c ∈ R n , d ∈ R 令\bm A\in\mathbb R^{m\times n},\bm b\in\mathbb R^m,\bm c\in\mathbb R^n,d\in\mathbb R ARm×n,bRm,cRn,dR,则:

    • g g g为仿射函数: g : R n → R m + 1 \bm g:\mathbb R^{n}\to\mathbb R^{m+1} g:RnRm+1 g ( x ) = ( A c T ) x + ( b d ) \bm g(\bm x)=\begin{pmatrix}\bm A \\ \bm c^T \end{pmatrix}\bm x+\begin{pmatrix}\bm b \\ d \end{pmatrix} g(x)=(AcT)x+(bd)

    • 定义 f \bm f f为投射函数: f ( x ) = A x + b c T x + d , d o m f = { x ∣ c T x + d > 0 } \bm f(\bm x)=\frac{\bm {Ax}+\bm b}{\bm c^T\bm x+d},dom \bm f=\{\bm x|\bm c^T\bm x+d>0\} f(x)=cTx+dAx+b,domf={xcTx+d>0}显然,若 c = 0 , d > 0 \bm c=\bm0,d>0 c=0,d>0,则 f f f为普通的仿射函数。

      通过分析可知,投射函数是结合了透视变换仿射变换的双重效果。

凸函数

  • 定义:若函数 f f f的定义域 d o m f dom f domf为凸集,且满足 ∀ x , y ∈ d o m f , 0 ≤ θ ≤ 1 , 有 f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) \forall \bm{x},\bm y\in dom f,0\le\theta\le1,有\\f(\theta\bm x+(1-\theta)\bm y)\le\theta f(\bm x)+(1-\theta)f(\bm y) x,ydomf,0θ1,f(θx+(1θ)y)θf(x)+(1θ)f(y) f ( x ) f(\bm x) f(x)为凸函数。

  • 一阶可微判定凸函数
    f f f一阶可微, f f f的定义域 d o m f dom f domf为凸集,且满足 ∀ x , y ∈ d o m f , f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) \forall \bm{x},\bm y\in dom f,f(\bm y)\ge f(\bm x)+\nabla f(\bm x)^T(\bm y-\bm x) x,ydomf,f(y)f(x)+f(x)T(yx)
    f ( x ) f(\bm x) f(x)为凸函数。
    在这里插入图片描述

    • 思考:
      • 对于凸函数,其一阶Taylor近似本质上该函数的全局下估计
      • 反之,如果一个函数的一阶Taylor近似总是其全局下估计,则该函数是凸函数。
  • 二阶可微判定凸函数

    • f f f二阶可微, f f f的定义域 d o m f dom f domf为凸集,且满足 ∇ 2 f ( x ) ⪰ 0 \nabla^2f(\bm x)\succeq \bm 0 2f(x)0则函数 f f f为凸函数。
      • f f f是一元函数,上式表示二阶导 f ′ ′ ( x ) ≥ 0 f''(x)\ge0 f(x)0
      • f f f是多元函数,上式表示二阶导Hessian矩阵半正定
  • 凸函数举例(通过求二阶导验证)

    • 指数函数: f ( x ) = e a x f(x)=e^{ax} f(x)=eax,不对 a a a做限制, a ∈ R a\in\mathbb R aR
    • 幂函数: f ( x ) = x a , x ∈ R + , a ≥ 1 或 a ≤ 0 f(x)=x^{a},x\in\mathbb R^+,a\ge1或a\le0 f(x)=xa,xR+,a1a0
    • 负对数函数: f ( x ) = − ln ⁡ x f(x)=-\ln x f(x)=lnx
    • 负熵函数: f ( x ) = − x ln ⁡ x f(x)=-x\ln x f(x)=xlnx
    • 范数函数: f ( x ) = ∥ x ∥ f(\bm x)=\|\bm x\| f(x)=x
    • 最大值函数: f ( x ) = max ⁡ ( x 1 , x 2 , ⋯   , x n ) f(\bm x)=\max(x_1,x_2,\cdots,x_n) f(x)=max(x1,x2,,xn)
    • 指数线性函数: f ( x ) = log ⁡ ( e x 1 + e x 2 + ⋯ + e x n ) f(\bm x)=\log(e^{x_1}+e^{x_2}+\cdots+e^{x_n}) f(x)=log(ex1+ex2++exn)
      • Log Sum Exp → max ⁡ ( x 1 , x 2 , ⋯   , x n ) \to\max(x_1,x_2,\cdots,x_n) max(x1,x2,,xn)
  • 上镜图

    • 函数 f f f的上镜图(epigraph)定义为:
      e p i f = { ( x , t ) ∣ x ∈ d o m f , f ( x ) ≤ t } \bm{epi} f=\{(\bm x,t)|\bm x\in dom f,f(x)\le t\} epif={(x,t)xdomf,f(x)t}
      在这里插入图片描述
      易知:某函数是凸函数,当且仅当其上镜图是凸集。

Jensen不等式

Jensen不等式是由凸函数推导而来的,若 f f f是凸函数,则有 f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta\bm x+(1-\theta)\bm y)\le\theta f(\bm x)+(1-\theta)f(\bm y) f(θx+(1θ)y)θf(x)+(1θ)f(y)
θ i ≥ 0 , ∑ i = 1 k θ i = 1 \theta_i\ge0, \sum^k_{i=1}\theta_i=1 θi0,i=1kθi=1,根据凸集和凸函数的定义,则有 f ( θ 1 x 1 + ⋯ + θ k x k ) ≤ θ 1 f ( x 1 ) + ⋯ + θ k f ( x k ) f(\theta_1x_1+\cdots+\theta_kx_k)\le \theta_1f(x_1)+\cdots+\theta_kf(x_k) f(θ1x1++θkxk)θ1f(x1)++θkf(xk)

  • 先歇一会,回顾下连续型随机变量求期望的方法:
    求期望(理论平均值)的一条准则就是: ∑ ( 取 值 × 概 率 ) \sum(取值\times概率) (×)
    对于连续性随机变量 X X X,假设其概率密度函数(PDF)是 f ( x ) f(x) f(x),则 X X X的期望 E ( X ) E(X) E(X):
    E ( X ) = ∫ − ∞ + ∞ x f ( x ) d x E(X)=\int_{-\infty}^{+\infty}xf(x)dx E(X)=+xf(x)dx
    这里边每一个取值 x x x的概率为 f ( x ) d x f(x)dx f(x)dx
  • Jensen不等式的推导
    依据上面凸函数的定义,若:
    p ( x ) ≥ 0   o n   S ⊆ d o m f , ∫ S p ( x ) d x = 1 p(x)\ge0\ on\ S\subseteq \bm {dom} f,\int_S p(x)dx=1 p(x)0 on Sdomf,Sp(x)dx=1则有
    f ( ∫ S x p ( x ) d x ) ≤ ∫ S f ( x ) p ( x ) d x f\left(\int_S x p(x)dx\right)\le \int_S f(x)p(x)dx f(Sxp(x)dx)Sf(x)p(x)dx
    即:
    f ( E ( x ) ) ≤ E ( f ( x ) ) f(E(x))\le E(f(x)) f(E(x))E(f(x))
    这就是Jensen不等式。Jensen不等式几乎是所有不等式的基础,要想利用Jensen不等式,首先我们需要保证不等式使用过程中的函数 f ( x ) f(x) f(x)是凸函数,否则无法使用此不等式。

保持函数凸性的算子

  • 凸函数的非负加权求和 f ( x ) = ω 1 f 1 ( x ) + ⋯ + ω n f n ( x ) f(x)=\omega_1f_1(x)+\cdots+\omega_nf_n(x) f(x)=ω1f1(x)++ωnfn(x)
  • 凸函数与仿射函数的复合 g ( x ) = f ( A x + b ) g(x)=f(Ax+b) g(x)=f(Ax+b)这是因为凸集经过仿射变换后,依然是凸集,只是做了一些旋转,伸缩、投影和平移等操作。
  • 凸函数逐点最大值逐点上确界 f ( x ) = m a x { f 1 ( x ) , ⋯   , f n ( x ) } f ( x ) = s u p y ∈ A   g ( x , y ) f(x)=max\{f_1(x),\cdots,f_n(x)\}\\f(x)=\underset{y\in A}{sup}\ g(x,y) f(x)=max{f1(x),,fn(x)}f(x)=yAsup g(x,y)这里需要谨记:前提是凸函数,才能应用这些判定方法。
凸函数的逐点最大值
  • f 1 , f 2 f_1,f_2 f1,f2均为凸函数,定义函数 f f f: f ( x ) = m a x { f 1 ( x ) , f 2 ( x ) } f(x)=max\{f_1(x),f_2(x)\} f(x)=max{f1(x),f2(x)}
    则函数 f f f为凸函数。
  • 证明
    • Step 1
      在这里插入图片描述
    • Step 2
      在这里插入图片描述
凸函数的逐点上确界和上镜图的关系
  • 一些列函数逐点上确界函数对应着这些函数上镜图的交集。
  • 直观例子
    • O x y Oxy Oxy平面上随意画 N N N条直线(直线是凸的,虽然直线也是凹的),在每一个 x x x处取这些直线的最大的点,则构成的新函数是凸函数。
    • 同时, N N N条直线逐点求下确界,是凹函数。
    • Lagrange对偶函数中会用到该结论。
      在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值