最优化方法(3) —— 凸函数

基本线性代数知识

定义

给定函数 f:RnRf: \mathbb{R}^n \mapsto \mathbb{R}, 且 ffxx 一个邻域内有定义, 若存在 gRng \in \mathbb{R}^n, 使得

limp0f(x+p)f(x)gTpp=0 \lim_{p \to 0} \frac{f(x+p)-f(x)-g^Tp}{\Vert p \Vert} = 0

其中 \Vert \cdot \Vert 是向量范数, 则称 ffxx可微. 此时, gg 称为 ffxx 处的 梯度, 记为 f(x)\nabla f(x).

显然, 如果梯度存在, 令 p=εeip = \varepsilon e_i, 易得

f(x)=(fx1,fx2,,fxn) \nabla f(x) = \left( \frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2}, \ldots, \frac{\partial f}{\partial x_n} \right)

定义

如果函数 f(x):RnRf(x): \mathbb{R}^n \mapsto \mathbb{R} 在点 xx 处的二阶偏导数 2fxixj\dfrac{\partial^2 f}{\partial x_i \partial x_j} 存在, 则称 ffxx二次可微. 此时, n×nn \times n 矩阵

2f(x)=(2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2) \nabla^2 f(x) = \begin{pmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1 \partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_1 \partial x_n} \\ \dfrac{\partial^2 f}{\partial x_2 \partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots & \dfrac{\partial^2 f}{\partial x_2 \partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \dfrac{\partial^2 f}{\partial x_n \partial x_1} & \dfrac{\partial^2 f}{\partial x_n \partial x_2} & \cdots & \dfrac{\partial^2 f}{\partial x_n^2} \end{pmatrix}

称为 ffxx 处的 Hessian 矩阵. 若 2f(x)\nabla^2 f(x)DD 上连续, 则称 ffDD二次连续可微.

可以证明, 若 ffDD 上二次连续可微, 则 2f(x)\nabla^2 f(x) 为对称矩阵.

多元函数的梯度可以推广到变量是矩阵的情形.

定义

给定函数 f:Rm×nRf: \mathbb{R}^{m \times n} \mapsto \mathbb{R}, 且 ffXX 一个邻域内有定义, 若存在 GRm×nG \in \mathbb{R}^{m \times n}, 使得

limV0f(X+V)f(X)<G,V>V=0 \lim_{V \to 0} \frac{f(X+V)-f(X)-\left< G, V \right>}{\Vert V \Vert} = 0

其中 \Vert \cdot \Vert 是矩阵范数, 则称 ffXX(Fréchet)可微. 此时, GG 称为 ffXX 处的 梯度, 记为 f(X)\nabla f(X).

矩阵的可微有另一种较为简单常用的定义.

定义

给定函数 f:Rm×nRf: \mathbb{R}^{m \times n} \mapsto \mathbb{R}, 若存在矩阵 GRm×nG \in \mathbb{R}^{m \times n}, 使得

limt0f(X+tV)f(X)t=<G,V> \lim_{t \to 0} \frac{f(X+tV)-f(X)}{t} = \left< G, V \right>

则称 ffXX(Gâteaux)可微.

例如:

  • f(X)=tr(AXTB)f(X) = \text{tr}(AX^TB), 此时 f(X)=BA\nabla f(X) = BA.

  • f(X,Y)=12XYAF2f(X, Y)=\frac{1}{2} \Vert XY-A \Vert_F^2. 此时

    f(X,Y+tV)f(X,Y)=12X(Y+tV)AF212XYAF2=12XYA+tVXF212XYAF2=12tVXF2+<XYA,tVX>=t<XT(XYA),V>+o(t) \begin{aligned} &f(X,Y+tV)-f(X,Y) \\ &= \frac{1}{2} \Vert X(Y+tV)-A \Vert_F^2 - \frac{1}{2} \Vert XY-A \Vert_F^2 \\ &= \frac{1}{2} \Vert XY - A + tVX \Vert_F^2 - \frac{1}{2} \Vert XY - A \Vert_F^2 \\ &= \frac{1}{2} \Vert tVX \Vert_F^2 + \left< XY-A, tVX \right> \\ &= t \left< X^T(XY-A), V \right> + o(t) \end{aligned}

    所以 fY=XT(XYA)\frac{\partial f}{\partial Y} = X^T(XY-A), 类似地, fX=(XYA)YT\frac{\partial f}{\partial X} = (XY-A)Y^T.

  • f(X)=lndet(X)f(X)=\ln\text{det}(X), XX 为正定矩阵. 此时

    f(X+tV)f(X)=lndet(X+tV)lndet(X)=lndet(I+tX1/2VX1/2) \begin{aligned} &f(X+tV)-f(X) \\ &= \ln\text{det}(X+tV) - \ln\text{det}(X) \\ &= \ln\text{det}(I+tX^{-1/2}VX^{-1/2}) \end{aligned}

    考虑 X1/2VX1/2X^{-1/2}VX^{-1/2} 的特征值 λi\lambda_i, 则由特征值之和为迹, 有

    =lndeti=1n(1+tλi)=i=1nln(1+tλi)=i=1ntλi+o(t)=ttr(X1/2VX1/2)+o(t)=ttr(X1V)+o(t)=t<XT,V>+o(t) \begin{aligned} &= \ln\text{det}\prod_{i=1}^n (1+t\lambda_i) \\ &= \sum_{i=1}^n \ln(1+t\lambda_i) \\ &= \sum_{i=1}^n t\lambda_i + o(t) \\ &= t\text{tr}(X^{-1/2}VX^{-1/2}) + o(t) \\ &= t\text{tr}(X^{-1}V) + o(t) \\ &= t\left< X^{-T}, V \right> + o(t) \end{aligned}

    所以 f(X)=XT\nabla f(X) = X^{-T}.

定义

广义实数 是一种扩充实数域的数, 记为 Rˉ=R{±}\bar{\mathbb{R}} = \mathbb{R} \cup \{ \pm \infty \}. 映射 f:RnRˉf: \mathbb{R}^n \mapsto \bar{\mathbb{R}} 称为 广义实值函数.

定义

给定广义实值函数 ff 和非空集合 XX. 如果存在 xXx \in X 使得 f(x)<+f(x) < +\infty, 并且对任意的 xXx \in X, 都有 f(x)>f(x) > -\infty, 那么称函数 ff 关于集合 XX适当的

定义

对于广义实值函数 f:RnRˉf: \mathbb{R}^n \mapsto \bar{\mathbb{R}},

  • Cα={xf(x)α}C_\alpha = \{x \mid f(x) \le \alpha \} 称为 ffα\alpha-下水平集.
  • epif={(x,t)f(x)t}\text{epi} f = \{ (x, t) \mid f(x) \le t \} 称为 ff上方图.
  • epif\text{epi} f 为闭集, 则称 ff闭函数.
  • 若对任意的 xRnx \in \mathbb{R}^n, 有 lim infyxf(y)f(x)\liminf_{y \to x} f(y) \ge f(x), 则称 ff下半连续函数.

定理

对于广义实值函数 ff, 以下命题等价:

  1. f(x)f(x) 的任意 α\alpha-下水平集都是闭集;
  2. f(x)f(x) 是下半连续的;
  3. f(x)f(x) 是闭函数.

证明

(1) \Rightarrow (2): 反证, 假设 xkxˉx_k \to \bar{x}lim infkf(xk)<f(xˉ)\liminf_{k \to \infty} f(x_k) < f(\bar{x}). 取 tt 介于二者之间.

考虑到 lim infkf(xk)<t\liminf_{k \to \infty} f(x_k) < t, 则有无穷多 xkx_k 使得 f(xk)tf(x_k) \le t, 即这些 xkx_kCtC_t 中. 由于 CtC_t 是闭集, 则 xˉCt\bar{x} \in C_t, 即 f(xˉ)tf(\bar{x}) \le t, 矛盾.

(2) \Rightarrow (3): 考虑 (xk,yk)epif(xˉ,yˉ)(x_k,y_k) \in \text{epi} f \to (\bar{x},\bar{y}), 由于 ff 下半连续, 则

f(xˉ)lim infkf(xk)=lim infkyk=yˉ f(\bar{x}) \le \liminf_{k \to \infty} f(x_k) = \liminf_{k \to \infty} y_k = \bar{y}

(xˉ,yˉ)epif(\bar{x}, \bar{y}) \in \text{epi} f.

(3) \Rightarrow (1): 考虑 xkCαxˉx_k \in C_\alpha \to \bar{x}, 则 (xk,α)epif(xˉ,α)(x_k, \alpha) \in \text{epi} f \to (\bar{x}, \alpha), 所以 (xˉ,α)epif(\bar{x}, \alpha) \in \text{epi} f, 即 f(xˉ)αf(\bar{x}) \le \alpha, 所以 xˉCα\bar{x} \in C_\alpha.

适当闭函数的和, 复合, 逐点上确界仍然是闭函数.

凸函数

定义

适当函数 f:RnRf: \mathbb{R}^n \mapsto \mathbb{R} 称为 凸函数, 如果 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) \le \theta f(x) + (1-\theta)f(y)

易知仿射函数既是凸函数又是凹函数. 所有的范数都是凸函数.

定义

若存在常数 m>0m > 0, 使得 g(x)=f(x)m2x2g(x) = f(x) - \frac{m}{2} \Vert x \Vert^2 是凸函数, 则称 ff强凸函数, mm 称为 强凸参数.

定理凸函数判定定理

适当函数 f:RnRf: \mathbb{R}^n \mapsto \mathbb{R} 是凸函数的充要条件是, 对任意的 xdomfx \in \text{dom} f, 函数 g:RRg: \mathbb{R} \mapsto \mathbb{R} 是凸函数, 其中

g(t)=f(x+tv),domg={tx+tvdomf}g(t) = f(x+tv), \quad \text{dom}g = \{ t \mid x + tv \in \text{dom} f \}

定理一阶条件

对于定义在凸集上的可微函数 ff, ff 是凸函数当且仅当

f(y)f(x)+f(x)T(yx),x,ydomf f(y) \ge f(x) + \nabla f(x)^T(y-x), \quad \forall x, y \in \text{dom} f

证明

必要性: 设 ff 凸, 则 x,ydomf,t[0,1]\forall x, y \in \text{dom} f, t \in [0,1], 有

tf(y)+(1t)f(x)f(x+t(yx))tf(y)+(1-t)f(x) \ge f(x+t(y-x))

t0t \to 0, 即

f(y)f(x)f(x+t(yx))f(x)tf(x)T(yx)f(y)-f(x) \ge \frac{f(x+t(y-x))-f(x)}{t} \to \nabla f(x)^T(y-x)

充分性: x,ydomf,t(0,1)\forall x, y \in \text{dom}f, t\in (0,1), 取 z=tx+(1t)yz = tx+(1-t)y, 则

f(x)f(z)+f(z)T(xz)f(y)f(z)+f(z)T(yz) \begin{aligned} f(x) &\ge f(z) + \nabla f(z)^T(x-z) \\ f(y) &\ge f(z) + \nabla f(z)^T(y-z) \end{aligned}

一式乘以 tt, 二式乘以 1t1-t, 相加即得.

定理梯度单调性

ff 为可微函数, 则 ff 为凸函数当且仅当 domf\text{dom} f 为凸集且 f\nabla f 为单调映射.

(f(x)f(y))T(xy)0(\nabla f(x) - \nabla f(y))^T(x-y) \ge 0

证明

必要性: 根据一阶条件, 有

f(y)f(x)+f(x)T(yx)f(x)f(y)+f(y)T(xy) \begin{aligned} f(y) &\ge f(x) + \nabla f(x)^T(y-x) \\ f(x) &\ge f(y) + \nabla f(y)^T(x-y) \end{aligned}

相加即可.

充分性: 考虑 g(t)=f(x+t(yx))g(t)=f(x+t(y-x)), 则 g(t)=f(x+t(yx))T(yx)g^\prime(t)=\nabla f(x+t(y-x))^T (y-x), 从而 g(t)g(0)g^\prime (t) \ge g^\prime (0).

f(y)=g(1)=g(0)+01g(t)dtg(0)+01g(0)dt=g(0)+g(0)=f(x)+f(x)T(yx) \begin{aligned} f(y) &= g(1) = g(0) + \int_{0}^1 g^\prime(t) dt \\ &\ge g(0) + \int_{0}^1 g^\prime(0) dt = g(0) + g^\prime(0) \\ &= f(x) + \nabla f(x)^T(y-x) \end{aligned}

定理

函数 f(x)f(x) 是凸函数当且仅当 epif\text{epi}f 是凸集.

定理二阶条件

ff 为定义在凸集上的二阶连续可微函数, ff 是凸函数当且仅当 2f(x)0,xdomf\nabla^2 f(x) \succeq 0, \forall x \in \text{dom} f. 若不取等, 则为严格凸函数.

证明

必要性: 反设 f(x)f(x)xx2f(x)0\nabla^2 f(x) \prec 0, 则存在 vRnv \in \mathbb{R}^n, 使得 vT2f(x)v<0v^T \nabla^2 f(x) v < 0, 考虑 Peano 余项

f(x+tv)=f(x)+tf(x)Tv+t22vT2f(x+tv)v+o(t2) f(x+tv)=f(x)+t\nabla f(x)^Tv+\frac{t^2}{2}v^T\nabla^2 f(x+tv)v + o(t^2)

tt 充分小,

f(x+tv)f(x)tf(x)Tvt2=12vT2f(x+tv)v+o(1)<0 \frac{f(x+tv)-f(x)-t\nabla f(x)^T v}{t^2}=\frac{1}{2}v^T\nabla^2 f(x+tv)v + o(1) < 0

这和一阶条件矛盾.

充分性: 对于任意的 x,ydomfx, y \in \text{dom} f, 有

f(y)=f(x)+f(x)T(yx)+12(yx)T2f(z)(yx)f(x)+f(x)T(yx) \begin{aligned} f(y) &= f(x)+\nabla f(x)^T(y-x)+\frac{1}{2}(y-x)^T\nabla^2 f(z)(y-x) \\ &\ge f(x)+\nabla f(x)^T(y-x) \end{aligned}

由一阶条件, ff 为凸函数.

保凸运算

下面举一些重要的例子.

  1. 逐点取上界: 若对每个 yAy \in A, f(x,y)f(x,y) 都是关于 xx 的凸函数, 则

    g(x)=supyAf(x,y)g(x)=\sup_{y \in A} f(x,y)

    也是凸函数.

    • CC 的支撑函数 f(x)=supyCyTxf(x)=\sup_{y \in C} y^Tx 是凸函数.
    • CCxx 的最远距离 f(x)=supyCxyf(x)=\sup_{y \in C} \Vert x-y \Vert 是凸函数.
    • 对称阵 XSnX \in \mathbb{S}^n 的最大特征值 λmax(X)=supx=1xTXx\lambda_{\max}(X)=\sup_{\Vert x \Vert=1} x^TXx 是凸函数.
  2. 标量函数的复合: 若 g:RnRg: \mathbb{R}^n \mapsto \mathbb{R} 是凸函数, h:RRh: \mathbb{R} \mapsto \mathbb{R} 是单调不减的凸函数, 则

    f(x)=h(g(x))f(x) = h(g(x))

    也是凸函数. 凹同理.

    • 如果 gg 凸, 则 f(x)=exp(g(x))f(x) = \exp(g(x)) 也是凸函数.
    • 如果 gg 凹, 则 f(x)=1/g(x)f(x) = 1/g(x) 也是凸函数.
  3. 取下确界: 若 f(x,y)f(x, y) 关于 (x,y)(x, y) 整体是凸函数, CC 是凸集, 则

    g(x)=infyCf(x,y)g(x) = \inf_{y \in C} f(x, y)

    也是凸函数.

    • 凸集 CCxx 的距离 f(x)=infyCxyf(x)=\inf_{y \in C} \Vert x-y \Vert 是凸函数.
  4. 透视函数: 若 f:RnRf: \mathbb{R}^{n} \mapsto \mathbb{R} 是凸函数, 则

    g(x,t)=tf(x/t),domg={(x,t)x/tdomf,t>0}g(x, t) = tf(x/t), \quad \text{dom} g = \{ (x, t) \mid x / t \in \text{dom} f, t > 0 \}

    也是凸函数.

    • 相对熵函数 g(x,t)=tlogttlogxg(x,t)=t\log t-t\log x 是凸函数.
    • ff 凸, 则 g(x)=(cT+d)f((Ax+b)/(cT+d))g(x)=(c^T+d)f((Ax+b)/(c^T+d)) 也是凸函数.
  5. 共轭函数: 任意适当函数 ff 的共轭函数

    f(y)=supxdomf(<x,y>f(x))f^\ast(y)=\sup_{x \in \text{dom} f} (\left< x, y \right> - f(x))

    是凸函数.

凸函数的推广

定义

f:RnRf: \mathbb{R}^n \mapsto \mathbb{R} 称为 拟凸的, 如果 domf\text{dom} f 是凸集, 且对任意 α\alpha, 下水平集 CαC_\alpha 是凸集.

ff 是拟凸的, 则称 f-f拟凹的. 若 ff 既是拟凸又是拟凹的, 则称 ff拟线性的.

注意: 拟凸函数的和不一定是拟凸函数.

定理

  • 拟凸函数满足类 Jenson 不等式: 对拟凸函数 ffx,ydomf,θ[0,1]\forall x, y \in \text{dom} f, \theta \in [0,1], 有
f(θx+(1θ)y)max{f(x),f(y)}f(\theta x + (1-\theta)y) \le \max\left\{f(x),f(y)\right\}
  • 拟凸函数满足一阶条件: 定义在凸集上的可微函数 ff 拟凸当且仅当
f(y)f(x)f(x)T(yx)0f(y) \le f(x) \Rightarrow \nabla f(x)^T(y-x) \le 0

定义

如果正值函数 ff 满足 logf\log f 是凸函数, 则 ff 称为 对数凸函数; 若为凹函数, 则 ff 称为 对数凹函数.

例如, 正态分布

f(x)=1(2π)ndetΣexp(12(xμ)TΣ1(xμ))f(x) = \frac{1}{\sqrt{(2\pi)^n \text{det} \Sigma}} \exp\left(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\right)

是对数凹函数.

对数凹函数的乘积, 积分都是对数凹的, 但加和不一定是对数凹的.

在广义不等式下, 也可以定义凸凹性.

定义

f:RnRmf: \mathbb{R}^n \mapsto \mathbb{R}^m 称为 KK-凸函数, 如果 domf\text{dom} f 是凸集, 且

f(θx+(1θ)yKθf(x)+(1θ)f(y))f(\theta x+(1-\theta)y \preceq_K \theta f(x)+(1-\theta)f(y))

对任意 x,ydomf,0θ1x,y \in \text{dom} f, 0 \le \theta \le 1 成立.

例如, f:SmSmf: \mathbb{S}^m \mapsto \mathbb{S}^m, f(X)=X2f(X)=X^2S+m\mathbb{S}^m_+-凸函数. 这点利用 zTX2z=Xz2z^TX^2z=\Vert Xz \Vert^2 是关于 XX 的凸函数即可得知.

本文遵循 CC BY-NC-SA 4.0 协议
使用 Hugo 构建