Files
josh-blog-source/source/_posts/2024-07-03-josh-cvx-2-2.md
T
2024-10-11 20:58:04 +08:00

654 lines
32 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Josh's Note — 凸优化<br>Part 2.2 凸函数—保凸运算
mathjax: true
comments: true
copyright: true
toc:
enable: true
number: false
wrap: true
expand_all: true
max_depth: 4
categories:
- - Josh 的学习笔记
- 凸优化
- 凸函数
- - 数学
- 凸优化
tags:
- 凸优化
- 凸函数
- 保凸运算
abbrlink: c3476904
date: 2024-07-03 23:04:33
---
$
\newcommand{\dd}{\mathrm{d}}
\newcommand{\TT}{\mathrm{T}}
\def\diag{\mathop{\bf diag}}
\def\dist{\mathop{\bf dist}}
\def\dom{\mathop{\bf dom}}
\def\epi{\mathop{\bf epi}}
$&emsp;&emsp;本文讨论几种保持函数凸性或者凹性的运算,这样可以构造新的凸函数或者凹函数。首先从一些简单的运算开始,如求和、伸缩以及逐点上确界,之后再介绍一些更为复杂的运算(其中一些运算的特例即为简单运算)。
# 1. 非负加权求和
&emsp;&emsp;显然,若函数 $f$ 是凸函数且 $\alpha\geqslant0$,则函数 $\alpha f$ 也是凸函数。若函数 $f_1$ 和 $f_2$ 都是凸函数,则它们的和 $f_1+f_2$ 也是凸函数。将非负伸缩以及求和运算结合起来,可以看出,凸函数的集合本身是一个凸锥:凸函数的非负加权求和仍然是凸函数,即函数
$$
f=w_1f_1+\cdots+w_mf_m
$$
是凸函数。类似地,凹函数的非负加权求和仍然是凹函数。严格凸(凹)函数的非负,非零加权求和是严格凸(凹)函数。
&emsp;&emsp;这个性质可以扩展至无限项的求和以及积分的情形。例如,若对于每一个 $y\in\mathcal{A}$,函数 $f(x,y)$ 关于 $x$ 都是凸函数,且 $w(y)\geqslant 0$,则函数
$$
g(x)=\int_{\mathcal{A}}w(y)f(x,y)\dd y
$$
关于 $x$是凸函数(若此积分存在)。
<!-- more -->
&emsp;&emsp;容易验证非负伸缩以及求和运算是保凸运算,或者可以根据相关的上境图得到此结论。例如,若 $w\geqslant 0$ 且 $f$ 是凸函数,则有
$$
\epi (wf)=\left[\begin{array}{cc}
I&0\\
0&w
\end{array}\right]\epi f
$$
因为凸集通过线性变换得到的像仍然是凸集,所以 $\epi(wf)$ 是凸集。
{% note info 注解 %}
这里对上镜图的相关结论进行解释。函数 $f:\mathbf{R}^{n}\to\mathbf{R}$ 的上镜图定义为
$$
\epi f=\{(x,t)\mid f(x)\leqslant t\}
$$
则有
$$\begin{aligned}
\left[\begin{array}{cc}
I&0\\
0&w
\end{array}\right]\epi f&=\left\{\left[\begin{array}{cc}
I&0\\
0&w
\end{array}\right](x,t)\:\middle|\: f(x)\leqslant t\right\}
\\
&= \{(x,wt)\mid f(x)\leqslant t\}
\\
&= \{(x,t)\mid wf(x)\leqslant t\}
\\
&= \epi (wf)
\end{aligned}
$$
{% endnote %}
# 2. 复合仿射映射
&emsp;&emsp;假设函数 $f:\mathbf{R}^n\to\mathbf{R}$,$A\in\mathbf{R}^{n\times m}$,$b\in\mathbf{R}^n$,定义**复合仿射映射**(*composition with an affine mapping*)$ g:\mathbf{R}^m\to\mathbf{R}$ 为
$$
g(x)=f(Ax+b)
$$
其中 $\dom g=\{x\mid Ax+b\in\dom f\}$。若函数 $f$ 是凸函数,则函数 $g$ 是凸函数;若函数 $f$ 是凹函数,则函数 $g$ 是凹函数。
# 3. 逐点最大和逐点上确界
## 3.1 逐点最大
&emsp;&emsp;若函数 $f_{1}$ 和 $f_{2}$ 均为凸函数,则二者的**逐点最大**(*pointwise maximum*)函数
$$
f(x)=\max\{f_1(x),f_2(x)\}
$$
其定义域为 $\dom f=\dom f_1\cap\dom f_2$,仍然是凸函数。这个性质很容易验证:任取 $0\leqslant \theta \leqslant 1$ 以及 $x,y\in\dom f$,有
$$\begin{aligned}
f(\theta x+(1-\theta)y)&=\max\{f_1(\theta x+(1-\theta)y),f_2(\theta x+(1-\theta)y)\}
\\
&\leqslant\max\{\theta f_1(x)+(1-\theta)f_1(y),\theta f_2(x)+(1-\theta)f_2(y)\}
\\
&\leqslant\theta\max\{f_1(x),f_2(x)\}+(1-\theta)\max\{f_1(y),f_2(y)\}
\\
&=\theta f(x)+(1-\theta)f(y)
\end{aligned}$$
从而得到了函数 $f$ 的凸性。同样很容易证明,若函数 $f_1,\cdots,f_m$ 为凸函数,则它们的逐点最大函数
$$
f(x)=\max\{f_1(x),\cdots,f_m(x)\}
$$
仍然是凸函数。
> **举例**&emsp;**分段线性函数**(*Piecewise-linear functions*)。函数
>
> $$
> f(x)=\max\left\{a_1^\TT x+b_1,\cdots,a_L^\TT x+b_L\right\}
> $$
>
> 定义了一个(具有不大于 $L$ 个子区域的)分段线性函数(实际上是仿射函数)。因为它是一系列仿射函数的逐点最大函数,所以它是凸函数。反之亦成立:任意具有不大于 $L$ 个子区域的分段线性凸函数都可以表述成上述形式。
>
> {% note info 注解 %}
> 参考 Wikipedia,[分段线性函数词条](https://en.wikipedia.org/wiki/Piecewise_linear_function)即为我们通常理解的分段函数,但是这里的分段线性函数有所不同,定义为多个分段函数的逐点最大,因此数凸的。
>
> 关于子区域数量,可以这样理解:若 $L$ 个仿射函数相邻两段各不相同,则每一段仿射函数均对应着一个子区域,因此最多共有 $L$ 个子区域。
> {% endnote %}
> **举例**&emsp;**最大 $r$ 个分量之和**。对于任意 $x\in\mathbf{R}^n$,用 $x_{[i]}$ 表示 $x$ 中第 $i$ 大的分量,将 $x$ 的分量按照非升序进行排列
>
> $$
> x_{[1]}\geqslant x_{[2]}\geqslant\cdots\geqslant x_{[n]}
> $$
>
> 则对 $x$ 的最大 $r$ 个分量进行求和所得到的函数
>
> $$
> f(x)=\sum_{i=1}^rx_{[i]}
> $$
>
> 是凸函数。事实上,此函数可以表述为
>
> $$
> f(x)=\sum_{i=1}^rx_{[i]}=\max\{x_{i_1}+\cdots+x_{i_r}\mid1\leqslant i_1<i_2<\cdots<i_r\leqslant n\}
> $$
>
> 即从 $x$ 的分量中选取 $r$ 个不同分量进行求和的所有可能组合的最大值。因为函数 $f$ 是 $\displaystyle\frac{n!}{r!(n-r)!}$ 个线性函数的逐点最大,所以是凸函数。
>
> 进一步可以证明,当 $w_1\geqslant w_2\geqslant\cdots\geqslant w_r\geqslant 0$ 时,函数 $\displaystyle\sum_{i=1}^rw_ix_{[i]}$ 是凸函数。
## 3.2 逐点上确界
&emsp;&emsp;逐点最大的性质可以扩展至无限个凸函数的**逐点上确界**(*pointwise supremum*)。
{% note info 上确界和下确界 %}
&emsp;&emsp;假定 $C\subseteq\mathbf{R}$。若对每个 $x\in C$ 均有 $x\leqslant a$,则称 $a$ 是 $C$ 的**上界**(*upper bound*)。$C$ 的上界组成的集合或是空集(此时称 $C$ 无上界),或等于 $\mathbf{R}$(仅当 $C=\emptyset$ 时),或是闭的无限区间 $[b,\infty)$。称 $b$ 为 $C$ 的**最小上界**(*least upper bound*)或**上确界**(*supremum*),用 $\sup C$ 表示。规定 $\sup\emptyset=-\infty$,当 $C$ 无上界时取 $\sup C=\infty$。当 $\sup C\in C$ 时,称 $C$ 的上确界是可达的。
&emsp;&emsp;当 $C$ 是有限集时,$\sup C$ 是它所有元素的最大值。一些作者用符号 $\max C$ 表示可达的上确界,但我们采用标准的数学习惯,只在 $C$ 是有限集时用 $\max C$。
&emsp;&emsp;类似地,可以定义下界和下确界。若对每个 $x\in C$ 均有 $a\leqslant x$,则称 $a$ 是 $C\subseteq\mathbf{R}$ 的下界。$C\subseteq\mathbf{R}$ 的**下确界**(*infimum*)或**最大下界**(*greatest lower bound*)定义为 $\inf C=-\sup(-C)$。当 $C$ 是有限集时,下确界是它所有元素的最小值。规定 $\inf\emptyset=\infty$,并在 $C$ 无下界时,取 $\inf C=-\infty$。
{% endnote %}
&emsp;&emsp;若对于任意 $y\in\mathcal{A}$,函数 $f(x,y)$ 关于 $x$ 都是凸的,则函数
$$\begin{equation}\label{PointwiseMaximum}
g(x)=\sup_{y\in\mathcal{A}}f(x,y)
\end{equation}$$
关于 $x$ 亦是凸的。此时,函数 $g$ 的定义域为
$$
\dom g=\{x\mid(x,y)\in\dom f\:\forall y\in\mathcal{A},\sup_{y\in\mathcal{A}}f(x,y)<\infty\}
$$
类似地,一系列凹函数的逐点下确界仍然是凹函数。
&emsp;&emsp;从上境图的角度理解,一系列函数的逐点上确界函数对应着这些函数上境图的交集:对于函数 $f$,$g$ 以及式 $\eqref{PointwiseMaximum}$ 定义的 $\mathcal{A}$,有
$$
\epi g=\bigcap_{y\in\mathcal{A}}\epi f(\:\cdot\:,y)
$$
因此,函数 $g$ 的凸性可由一系列凸集的交集仍然是凸集得到。
> **举例**&emsp;**集合的支撑函数**。令集合 $C\subseteq\mathbf{R}^n$,且 $C\neq\emptyset$,定义集合 $C$ 的**支撑函数**(*support function*)$S_C$ 为
>
> $$
> S_C(x)=\sup\{x^\TT y\mid y\in C\}
> $$
>
> (自然地,函数 $S_C$ 的定义域为 $\dom S_{C}=\left\{x\mid\sup_{y\in C}x^\TT y<\infty\right\}$)。
>
> 对于任意 $y\in C$,$x^\TT y$ 是 $x$ 的线性函数,所以 $S_{C}$ 是一系列线性函数的逐点上确界函数,因此是凸函数。
> **举例**&emsp;**到集合中最远点的距离**。令集合 $C\subseteq\mathbf{R}^n$,定义点 $x$ 与集合中最远点的距离(范数)为
>
> $$
> f(x)=\sup_{y\in C}\|x-y\|
> $$
>
> 此函数是凸函数。为了说明这一点,我们注意到,对于任意 $y$,函数 $\|x-y\|$ 关于 $x$ 是凸函数。因为函数 $f$ 是一族凸函数(对应不同的 $y\in C$)的逐点上确界,所以是凸函数。
> **举例**&emsp;**以权为变量的最小二乘代价函数**。令 $a_1,\cdots,a_n\in\mathbf{R}^m$,在加权最小二乘问题中我们对所有的 $x\in\mathbf{R}^m$ 极小化目标函数 $\displaystyle\sum_{i=1}^nw_i(a_i^\TT x-b_i)^2$。我们称 $w_i$ 为**权**(*weight*),并允许 $w_i$ 为负(则目标函数有可能无下界)。
>
> 定义(最优)**加权最小二乘代价**(*weighted least-squares cost*)函数为
>
> $$
> g(w)=\inf_{x}\sum_{i=1}^{n}w_{i}(a_{i}^{\TT}x-b_{i})^{2}
> $$
>
> 其定义域为
>
> $$\dom g=\left\{w\,\middle|\,\inf_{x}\sum_{i=1}^{n}w_{i}(a_{i}^{\TT}x-b_{i})^{2}>-\infty\right\}$$
>
> 因为函数 $g$ 是一族关于 $w$ 的线性函数的下确界(对应于不同的 $x\in\mathbf{R}^m$),它是 $w$ 的凹函数。
>
> 至少在部分定义域上,我们可以得到函数 $g$ 的一个显式表达式。令 $W=\diag(w)$ 是一对角阵,其对角线元素为 $w_1,\cdots,w_n$,令 $A\in\mathbf{R}^{n\times m}$,其行向量为 $a_i^\TT$,有
>
> $$
> g(w)=\inf_{x}(Ax-b)^{\TT}W(Ax-b)=\inf_{x}(x^{\TT}A^{\TT}WAx-2b^{\TT}WAx+b^{\TT}Wb)
> $$
>
> 从上式可以看出,若 $A^{\TT}WA\not\succeq0$,括号里的二次函数关于 $x$ 无下界,故 $g(w)=-\infty$,即 $w\not\in\dom g$。当 $A^\TT WA\succ0$ 时(即定义了一个严格的线性矩阵不等式),通过解析求解二次函数的极小值,可以得到函数 $g$ 的一个简单的表达式
>
> $$\begin{aligned}
> g(w)&=b^{\TT}Wb-b^{\TT}WA(A^{\TT}WA)^{-1}A^{\TT}Wb
> \\
> &=\sum_{i=1}^{n}w_{i}b_{i}^{2}-\sum_{i=1}^{n}w_{i}^{2}b_{i}^{2}a_{i}^{\TT}\left(\sum_{j=1}^{n}w_{j}a_{j}a_{j}^{\TT}\right)^{-1}a_{i}
> \end{aligned}$$
>
> 从上述表达式并不能立即得到函数 $g$ 的凹性(不过可以从矩阵分式函数的凸性来推导函数 $g$ 的凹性)。
> **举例**&emsp;**对称矩阵的最大特征值**。 定义函数 $f(X)=\lambda_{\max}(X)$,其定义域为 $\dom f=\mathbf{S}^m$,它是凸函数。为了说明这一点,我们将 $f$ 表述为
>
> $$
> f(X)=\sup\{y^\TT Xy\mid\|y\|_2=1\}
> $$
>
> 即针对不同的 $y\in\mathbf{R}^m$ 关于 $X$ 的一族线性函数(即$y^\TT Xy$)的逐点上确界。
> **举例**&emsp;**矩阵范数**。考虑函数 $f(X)=\|X\|_2$,其定义域为 $\dom f=\mathbf{R}^{p\times q}$,其中 $\|\cdot\|_2$ 表示谱范数或者最大奇异值。函数 $f$ 可以表述为
>
> $$
> f(X)=\sup\{u^{\TT}Xv\mid\|u\|_{2}=1,\|v\|_{2}=1\}
> $$
>
> 由于它是 $X$ 的一族线性函数的逐点上确界,所以是凸函数。
>
> 作为一个推广,假设 $\|\cdot\|_a$和$\|\cdot\|_b$ 分别是 $\mathbf{R}^p$ 和 $\mathbf{R}^q$ 上的范数,定义矩阵 $X\in\mathbf{R}^{p\times q}$ 的诱导范数为
>
> $$
> \|X\|_{a,b}=\sup_{v\neq0}\frac{\|Xv\|_{a}}{\|v\|_{b}}
> $$
## 3.3 表示成一族仿射函数的逐点上确界
&emsp;&emsp;上述例子描述了一个建立函数凸性的好方法:将函数表示为一族仿射函数的逐点上确界。除了一个技术条件,反过来也是成立的:几乎所有的凸函数都可以表示成一族仿射函数的逐点上确界。例如,若函数 $f:\mathbf{R}^n\to\mathbf{R}$ 是凸函数,其定义域为 $\dom f=\mathbf{R}^n$,我们有
$$
f(x)=\sup\{g(x)\mid g\:\text{仿射},\:g(z)\leqslant f(z)\:\forall z\}
$$
换言之,函数 $f$ 是它所有的仿射全局下估计的逐点上确界。下面我们将证明这个结论。
&emsp;&emsp;设函数 $f$ 是凸函数,定义域为 $\dom f=\mathbf{R}^{n}$ ,显然下面的不等式成立
$$
f ( x ) \geqslant \sup \{g ( x ) \mid g\:\text{仿射}, \ g ( z ) \leqslant f ( z ) \ \forall z \},
$$
因为函数 $g$ 是函数 $f$ 的任意仿射下估计,我们有 $g ( x ) \leqslant f ( x )$。为了建立等式,我们说明,对于任意 $x \in\mathbf{R}^{n}$,存在仿射函数 $g$ 是函数 $f$ 的全局下估计,并且满足 $g ( x )=f ( x )$。
&emsp;&emsp;毫无疑问,函数 $f$ 的上境图是凸集,因此我们在点 $( x, f ( x ) )$ 处可以找到此凸集的支撑超平面,即存在 $a \in\mathbf{R}^{n}$,$\; b \in\mathbf{R}$ 且 $( a, b ) \neq0$,使得对任意 $( z, t ) \in\epi f$,有
$$
\left[ \begin{array} {c} a \\ b \\ \end{array} \right]^{\TT} \left[ \begin{array} {c} {x-z} \\ {f ( x )-t} \\ \end{array} \right] \leqslant0.
$$
即对任意 $z\in\dom f=\mathbf{R}^n$ 以及所有 $s\geqslant0$($(z,t)\in\epi f$ 等价于存在 $s\geqslant0$ 使得 $t=f(z)+s$),下式成立
$$\begin{equation}\label{ProofOfAffineFunctionRepresentation}
a^\TT(x-z)+b(f(x)-f(z)-s)\leqslant0
\end{equation}
$$
为了保证不等式 $\eqref{ProofOfAffineFunctionRepresentation}$ 对所有的 $s\geqslant0$ 均成立,必须有 $b\geqslant0$。若 $b=0$,对所有的$z\in\mathbf{R}^n$,不等式 $\eqref{ProofOfAffineFunctionRepresentation}$ 可以简化为 $a^\TT(x-z)\leqslant0$,这意味着 $a=0$,于是和假设 $(a,b)\neq0$ 矛盾。因此 $b>0$,即支撑超平面不是竖直的。
&emsp;&emsp;我们知道 $b>0$,因此,对任意 $z$,令 $s=0$,式 $\eqref{ProofOfAffineFunctionRepresentation}$ 可以重新表述为
$$
g(z)=f(x)+(a/b)^{\TT}(x-z)\leqslant f(z)
$$
由此说明函数 $g$ 是函数 $f$ 的一个仿射下估计,并且满足 $g(x)=f(x)$。
# 4. 复合
&emsp;&emsp;本节给定函数 $h:\mathbf{R}^k\to\mathbf{R}$ 以及 $g:\mathbf{R}^n\to\mathbf{R}^k$,定义复合函数 $f=h\circ g:\mathbf{R}^n\to\mathbf{R}$ 为
$$
f(x)=h(g(x)),\quad\dom f=\{x\in\dom g\mid g(x)\in\dom h\}
$$
我们考虑当函数 $f$ 保凸或者保凹时,函数 $h$ 和 $g$ 必须满足的条件。
## 4.1 标量复合
&emsp;&emsp;首先考虑 $k=1$ 的情况,即 $h:\mathbf{R}\to\mathbf{R}$,$g:\mathbf{R}^n\to\mathbf{R}$。仅考虑 $n=1$ 的情况(事实上,将函数限定在与其定义域相交的任意直线上得到的函数决定了原函数的凸性)。
&emsp;&emsp;为了找出复合规律,首先假设函数 $h$ 和 $g$ 是二次可微的,且 $\dom g= \dom h= \mathbf{R}$。在上述假设下,函数 $f$ 是凸的等价于 $f^{\prime\prime}\geqslant 0$(即对所有的 $x\in\mathbf{R}$,$f^{\prime\prime}(x)\geqslant 0$)。
&emsp;&emsp;复合函数 $f=h\circ g$ 的二阶导数为
$$\begin{equation}\label{SecondDerivativeOfScalarCompositionFunction}
f''(x)=h''(g(x))g'(x)^2+h'(g(x))g''(x)
\end{equation}$$
假设函数 $g$ 是凸函数($g^{\prime\prime}\geqslant 0$),函数 $h$ 是凸函数且非减(即$h^{\prime\prime}\geqslant0$ 且 $h^{\prime}\geqslant0$),从式 $\eqref{SecondDerivativeOfScalarCompositionFunction}$ 可以得出 $f^{\prime\prime}\geqslant 0$,即函数 $f$ 是凸函数。类似地,由式 $\eqref{SecondDerivativeOfScalarCompositionFunction}$ 可以得出如下结论
$$\begin{equation}\label{Conclusion1}\begin{aligned}
若\,h\,是凸函数且非减,g\,是凸函数,则\,f\,是凸函数,\\
若\,h\,是凸函数且非增,g\,是凹函数,则\,f\,是凸函数,\\
若\,h\,是凹函数且非减,g\,是凹函数,则\,f\,是凹函数,\\
若\,h\,是凹函数且非增,g\,是凸函数,则\,f\,是凹函数。
\end{aligned}\end{equation}$$
上述结论在函数 $g$ 和 $h$ 二次可微且定义域均为 $\mathbf{R}$ 时成立。事实上,对于更一般的情况,如 $n>1$,不再假设函数 $h$ 和 $g$ 可微或者 $\dom g=\mathbf{R}^n$,$\dom h=\mathbf{R}$,一些相似的复合规则仍然成立
$$\begin{equation}\label{Conclusion2}\begin{aligned}
若\,h\,是凸函数且\,\tilde{h}\,非减,\,g\,是凸函数,则\,f\,是凸函数,\\
若\,h\,是凸函数且\,\tilde{h}\,非增,\,g\,是凹函数,则\,f\,是凸函数,\\
若\,h\,是凹函数且\,\tilde{h}\,非减,\,g\,是凹函数,则\,f\,是凹函数,\\
若\,h\,是凹函数且\,\tilde{h}\,非增,\,g\,是凸函数,则\,f\,是凹函数。
\end{aligned}\end{equation}$$
其中,$\tilde{h}$ 表示函数 $h$ 的扩展值延伸,若点不在 $\dom h$ 内,对其赋值 $\infty$(若 $h$ 是凸函数)或者$-\infty$(若 $h$ 是凹函数)。这些结论和式 $\eqref{Conclusion1}$ 中的结论的唯一不同是我们要求**扩展值延伸**(*extended-value extension*)$\tilde{h}$ 在整个 $\mathbf{R}$ 上非增或者非减。
&emsp;&emsp;为了更好地理解式 $\eqref{Conclusion2}$ 中的结论,假设 $h$ 是凸函数,所以 $\tilde{h}$ 在定义域 $\dom h$ 外取值为 $\infty$。$\tilde{h}$ 非减意味着对于任意 $x,y\in\mathbf{R}$,$x<y$,有 $\tilde{h}(x)\leqslant\tilde{h}(y)$。特别地,若 $y\in\dom h$,则 $x\in\dom h$。换言之,我们可以认为 $h$ 的定义域在负方向上无限延伸。它或者是 $\mathbf{R}$ 或者是形如 $(-\infty,a)$ 或 $\left(-\infty,a\right]$ 的区间。类似地,若 $h$ 是凸函数且 $\tilde{h}$ 非增,我们可以理解为 $h$ 是非增的且 $\dom h$ 在正方向上趋于无穷。[图 7](#图7) 描述了不同的扩展值延伸的情况。
<a id="图7"></a>
![图 7. **左**:函数 $x^2$,其定义域为 $\mathbf{R}_+$,在其定义域内是凸且非减的,但是其扩展值延伸不是非减的。**右**:函数 $\max\{x,0\}^2$,其定义域为 $\mathbf{R}$,函数是凸函数,且其扩展值延伸是非减的。](../images/post/2024-07-03-josh-cvx-2-2/2024-07-03-josh-cvx-2-2-070-ExtendedValueExtension.png){width=700px}
> **举例**&emsp;通过一些简单例子,我们可以更好地理解复合定理中函数 $h$ 需要满足的条件。
>
> - 函数 $h(x)=\log x$:定义域为 $\dom h=\mathbf{R}_{++}$,为凹函数且 $\tilde{h}$ 非减。
> - 函数 $h(x)=x^1/2$:定义域为 $\dom h=\mathbf{R}_+$,为凹函数且 $\tilde{h}$ 非减。
> - 函数 $h(x)=x^{3/2}$:定义域为 $\dom h=\mathbf{R}_+$,为凸函数,但是**不**满足 $\tilde{h}$ 非减的条件。例如,$\tilde{h}(-1)=\infty$ 但 $\tilde{h}(1)=1$。
> - 当 $x\geqslant 0$ 时,$h(x)=x^3/2$,当 $x<0$ 时,$h(x)=0$:定义域为 $\dom h=\mathbf{R}$,$h$ 是凸函数且满足 $\tilde{h}$ 非减的条件。
&emsp;&emsp;即使不假设可微并运用表达式 $\eqref{SecondDerivativeOfScalarCompositionFunction}$,也可以直接证明复合函数结论式 $\eqref{Conclusion2}$。举例来说,我们证明如下结论:若 $g$ 是凸函数,$h$ 是凸函数且 $\tilde{h}$ 非减,则 $f=h\circ g$ 是凸函数。
> **证明**&emsp;假设 $x,y\in\dom f$,$0\leqslant\theta\leqslant1$。由 $x,y\in\dom f$,有 $x,y\in\dom g$ 且 $g( x)$, $g( y) \in \dom h$。因为 $\dom g$ 是凸集,有 $\theta x+(1-\theta)y\in\dom g$,由函数 $g$ 的凸性可得
>
> $$\begin{equation}\label{ConvexityOfFunctionG}
> g(\theta x+(1-\theta)y)\leqslant\theta g(x)+(1-\theta)g(y)
> \end{equation}
> $$
>
> 由 $g(x),g(y)\in\dom h$ 可得 $\theta g(x)+(1-\theta)g(y)\in\dom h$,即式 $\eqref{ConvexityOfFunctionG}$ 的右端在 $\dom h$ 内。根据假设 $\tilde{h}$ 是非减的,可以理解为其定义域在负方向上无限延伸。由式 $\eqref{ConvexityOfFunctionG}$ 的右端在 $\dom h$ 内,我们知道其左侧仍在定义域内,即 $g(\theta x+(1-\theta)y)\in\dom h$,因此 $\dom f$ 是凸集。
>
> 根据前提条件,$\tilde{h}$ 非减,利用不等式 $\eqref{ConvexityOfFunctionG}$,有
>
> $$\begin{equation}\label{NondecreasingOfFunctionH}
> h(g(\theta x+(1-\theta)y))\leqslant h(\theta g(x)+(1-\theta)g(y))
> \end{equation}
> $$
>
> 由函数 $h$ 的凸性可得
>
> $$\begin{equation}\label{ConvexityOfFunctionH}
> h(\theta g(x)+(1-\theta)g(y))\leqslant\theta h(g(x))+(1-\theta)h(g(y))
> \end{equation}
> $$
>
> 综合式 $\eqref{NondecreasingOfFunctionH}$ 和式 $\eqref{ConvexityOfFunctionH}$ 可得
>
> $$
> h(g(\theta x+(1-\theta)y))\leqslant\theta h(g(x))+(1-\theta)h(g(y))
> $$
>
> 复合定理得证。
> **举例**&emsp;**简单的复合结论**。
>
> - 若 $g$ 是凸函数,则 $\exp g(x)$ 是凸函数。
> - 若 $g$ 是凹函数且大于零,则 $\log g(x)$ 是凹函数。
> - 若 $g$ 是凹函数且大于零,则 $1/g(x)$是凸函数。
> - 若 $g$ 是凸函数且不小于零,$p\geqslant1$,则 $g(x)^p$ 是凸函数。
> - 若 $g$ 是凸函数,则 $-\log(-g(x))$ 在 $\{x\mid g(x)<0\}$ 上是凸函数。
> **注释**&emsp;扩展值延伸 $\tilde{h}$ 的单调性要求必须满足,注意到是 $\tilde{h}$,而不仅仅是 $h$。例如,考虑 $g( x) = x^2$,$\dom g = \mathbf{R}$,$h( x) = 0$,$\dom h= [ 1, 2]$ 复合的情形。此时 $g$ 是凸函数,$h$ 是凸函数且非减,但是函数 $f=h\circ g$
>
> $$
> f(x)=0,\quad\dom f=[-\sqrt{2},-1]\:\cup\:[1,\sqrt{2}]
> $$
>
> 不是凸函数,因为其定义域非凸。当然,此时函数 $\tilde{h}$ 不是非减的。
## 4.2 矢量复合
&emsp;&emsp;下面考虑 $k\geqslant1$ 的情况,此时更复杂一些。设
$$
f(x)=h(g(x))=h(g_1(x),\cdots,g_k(x))
$$
其中 $h: \mathbf{R} ^k\to \mathbf{R}$,$g_i: \mathbf{R} ^n\to \mathbf{R}$。和上一节一样,不失一般性,假设 $n=1$。和 $k=1$ 的情形类似,为了得到复合规则,假设函数二次可微,且 $\dom g=$ $\mathbf{R}$,$\dom h= \mathbf{R} ^{k}$。此时,对函数 $f$ 进行二次微分可得
$$\begin{equation}\label{SecondDerivativeOfVectorCompositionFunction}
f''(x)=g'(x)^{\TT}\nabla^2h(g(x))g'(x)+\nabla h(g(x))^{\TT}g''(x)
\end{equation}
$$
上式可以看成式 $\eqref{SecondDerivativeOfScalarCompositionFunction}$ 对应的向量形式。同样我们需要判断在什么条件下对所有 $x$ 有 $f(x)^{\prime\prime}\geqslant0$(或者对所有 $x$ 有 $f(x)^\prime\prime\leqslant 0$,此时 $f$ 是凹函数)。利用式 $\eqref{SecondDerivativeOfVectorCompositionFunction}$,我们可以得到很多规则,例如:
$$\begin{aligned}
若\:h\:是凸函数且在每维分量上\:h\:非减,g_i\:是凸函数,则\:f\:是凸函数;\\
若\:h\:是凸函数且在每维分量上\:h\:非增,g_i\:是凹函数,则\:f\:是凸函数;\\
若\:h\:是凹函数且在每维分量上\:h\:非减,g_i\:是凹函数,则\:f\:是凹函数。
\end{aligned}$$
和标量的情形类似,对于更一般的情况:$n>1$,不假设 $h$ 或 $g$ 可微以及一般的定义域类似的复合结论仍然成立。对于一般的结论,不仅 $h$ 需要满足单调性条件,其扩展值延伸 $\tilde{h}$ 同样必须满足。
&emsp;&emsp;为了更好地理解扩展值延伸 $\tilde{h}$ 必须满足单调性条件的含义,我们考虑凸函数 $h:\mathbf{R}^{k}\to\mathbf{R}$,且 $\tilde{h}$ 非减,即对任意 $u\preceq v$,有 $\tilde{h}(u)\leqslant\tilde{h}(v)$。这说明了若 $v\in\dom h$ 则 $u\in\dom h$,也即 $h$ 的定义域在方向 $-\mathbf{R}_+^k$ 上必须无限延伸。这个条件可以紧凑地描述为 $\dom h-\mathbf{R}_{+}^{k}=\dom h$。
> **举例**&emsp;矢量复合的例子。
>
> - 令 $h(z)=z_[1]+\cdots+z_{[r]}$,即对 $z\in\mathbf{R}^k$ 的前 $r$ 大分量进行求和。则 $h$ 是凸函数且在每一维分量上非减。假设 $g_1,\cdots,g_k$ 是 $\mathbf{R}^n$ 上的凸函数,则复合函数 $f=h\circ g$,即最大 $r\uparrow g_i$ 函数的逐点和,是凸函数。
>
> - 函数 $h(z)=\log\left(\displaystyle\sum_{i=1}^k\mathrm{e}^{z_i}\right)$ 是凸函数且在每一维分量上非减,因此只要 $g_i$ 是凸函数,$\log\left(\displaystyle\sum_{i=1}^{k}\mathrm{e}^{g_{i}}\right)$ 就是凸函数。
>
> - 对 $0<p\leqslant 1$,定义在 $\mathbf{R}_+^k$ 上的函数 $h(z)=\left(\displaystyle\sum_{i=1}^kz_i^p\right)^{1/p}$ 是凹的,且其扩展值延伸(当 $z\not\succeq0$ 时为 $-\infty$)在每维分量上非减,则若 $g_i$ 是凹函数且非负,$f(x)=\left(\displaystyle\sum_{i=1}^kg_i(x)^p\right)^{1/p}$ 是凸函数。
>
> - 设 $p\geqslant 1$, $g_{1}, \cdots , g_{k}$ 是凸函数且非负。则函数 $\left(\displaystyle\sum_{i=1}^ng_i(x)^p\right)^{1/p}$
>
> 为了说明这一点,考虑函数 $h:\mathbf{R}^k\to\mathbf{R}$
>
> $$
> h(z)=\left(\sum_{i=1}^{k}\max\{z_{i},0\}^{p}\right)^{1/p}
> $$
>
> 其中 $\dom h=\mathbf{R}^{k}$,因此 $h=\tilde{h}$。由函数 $h$ 是凸函数且非减可知 $h(g(x))$ 关于 $x$ 是凸函数。对 $z\succeq0$,我们有 $h(z)=\left(\displaystyle\sum_{i=1}^kz_i^p\right)^{1/p}$,所以 $\left(\displaystyle\sum_{i=1}^kg_i(x)^p\right)^{1/p}$ 是凸函数。
>
> - 几何平均函数 $h(z)=\left(\displaystyle\prod_{i=1}^kz_i\right)^{1/k}$,定义域为 $\mathbf{R}_+^k$,它是凹函数,且其扩展值延伸在每维分量上非减。因此若 $g_1,\cdots,g_k$ 是非负凹函数,它们的几何平均 $\left(\displaystyle\prod_{i=1}^kg_i\right)^{1/k}$ 也是非负凸函数。
# 5. 最小化
&emsp;&emsp;我们已经得到,任意个凸函数的逐点最大或者上确界仍然是凸函数。事实上,一些特殊形式的最小化同样可以得到凸函数。若函数 $f$ 关于 $(x,y)$ 是凸函数,集合 $C$ 是非空凸集,定义函数
$$\begin{equation}\label{DefinitionOfMinimization}
g(x)=\inf_{y\in C}f(x,y)
\end{equation}
$$
若存在某个 $x$ 使得 $g(x)>-\infty$(该条件隐含着对所有 $x,g(x)>-\infty$),则函数 $g$ 关于 $x$ 是凸函数。函数 $g$ 的定义域是 $\dom f$ 在 $x$ 方向上的投影,即
$$
\dom g=\{x\mid 对某些\:y\in C\:有\: (x,y)\in\dom f\}
$$
&emsp;&emsp;任取 $x_1$, $x_2\in \dom g$,利用 Jensen 不等式来证明上述结论。
> **证明**&emsp;令 $\epsilon>0$,则存在 $y_{1}$, $y_{2}\in C$,使 $f( x_{i}, y_{i}) \leqslant g( x_{i}) + \epsilon ( i= 1$, 2)。设 $\theta\in[0,1]$,有
>
> $$\begin{aligned}
> g(\theta x_{1}+(1-\theta)x_{2})&=\inf_{y\in C}f(\theta x_{1}+(1-\theta)x_{2},y)
> \\
> &\leqslant f(\theta x_1+(1-\theta)x_2,\theta y_1+(1-\theta)y_2)
> \\
> &\leqslant\theta f(x_1,y_1)+(1-\theta)f(x_2,y_2)
> \\
> &\leqslant\theta g(x_1)+(1-\theta)g(x_2)+\epsilon
> \end{aligned}$$
>
> 因为上式对任意$\epsilon>0$均成立,所以下式成立
> $$
> g(\theta x_1+(1-\theta)x_2)\leqslant\theta g(x_1)+(1-\theta)g(x_2)
> $$
&emsp;&emsp;此结论亦可通过上境图来说明。对式 $\eqref{DefinitionOfMinimization}$ 中定义的 $f$,$g$ 和 $C$,设对每个 $x$,在集合 $y\in C$ 上求下确界均可达到,则有
$$
\epi g=\{(x,t)\mid$对某个$y\in C$成立$(x,y,t)\in\epi f\}
$$
由于 $\epi g$是凸集在其中一些分量上的投影,所以它仍然是凸集。
> **举例**&emsp;**Schur 补**。设二次函数
>
> $$
> f(x,y)=x^{\TT}Ax+2x^{\TT}By+y^{\TT}Cy
> $$
>
> (其中$A$和$C$是对称矩阵)关于 $(x,y)$ 是凸函数,即
>
> $$
> \left[\begin{array}{cc}A&B\\B^{\TT}&C\end{array}\right]\succeq0
> $$
>
> 我们可以将$g(x)=\inf_yf(x,y)$表述为
>
> $$
> g(x)=x^{\TT}(A-BC^\dagger B^{\TT})x
> $$
>
> 其中 $C^\dagger$ 是矩阵 $C$ 的伪逆。根据极小化的性质,$g$ 是凸函数,因此 $A-BC^\dagger B^{\TT}\succeq 0$。
>
> 如果矩阵$C$可逆,即$C\succ0$,则矩阵$A-BC^{-1}B^{\TT}$称为$C$在矩阵
>
> $$
> \left[\begin{array}{cc}A&B\\B^{\TT}&C\end{array}\right]
> $$
>
> 中的 Schur 补。
> **举例**&emsp;**到某一集合的距离**。采用范数 $\|\cdot\|$,某点$x$到集合 $S\subseteq\mathbb{R}^n$ 的距离定义为
>
> $$
> \dist (x,S)=\inf_{y\in S}\|x-y\|
> $$
>
> 函数 $\|x-y\|$关于$(x,y)$ 是凸的,所以若集合 $S$ 是凸集,距离函数 $\dist (x,S)$ 是 $x$ 的凸函数。
> **举例**&emsp;设 $h$ 是凸函数。则函数 $g$
>
> $$
> g(x)=\inf\{h(y)\mid Ay=x\}
> $$
>
> 是凸函数。为了说明这一点,定义函数 $f$
>
> $$
> f(x,y)=\left\{\begin{array}{ll}h(y)&\text{如果}Ay=x\\\infty&\text{其他情况,}\end{array}\right.
> $$
>
> 此函数关于$(x,y)$是凸的。以$y$为自变量,极小化函数$f$即可得到函数$g$,因此函数$g$是凸函数。(直接证明$g$是凸函数亦不复杂。)
# 6. 透视函数
&emsp;&emsp;给定函数 $f:\mathbf{R}^n\to\mathbf{R}$,则 $f$ 的透视函数 $g:\mathbf{R}^n+1\to\mathbf{R}$ 定义为
$$
g(x,t)=tf(x/t)
$$
其定义域为
$$
\mathbf{dom}g=\{(x,t)\mid x/t\in\mathbf{dom}f,t>0\}
$$
透视运算是保凸运算:如果函数 $f$ 是凸函数,则其透视函数 $g$ 也是凸函数。类似地,若
$f$ 是凹函数,则 $g$ 亦是凹函数。
&emsp;&emsp;可以从多个角度来证明此结论,例如,我们可以直接验证定义凸性的不等式。这里应用上境图和[透视函数][]一节所描述的 $\mathbf{R}^{n+1}$ 上的透视映射给出一个简短的证明(同时也可以说明“透视”一词的由来)。当 $t>0$ 时,我们有
$$\begin{array}{lll}
(x,t,s)\in\epi g&\iff&tf(x/t)\leqslant s
\\
&\iff&f(x/t)\leqslant s/t
\\
&\iff&(x/t,s/t)\in\epi f
\end{array}$$
因此,$\epi g$是透视映射下 $\epi f$ 的原像,此透视映射将 $(u,v,w)$ 映射为 $(u,w)/v$。根据[透视函数][]一节中的结论,$\epi g$ 是凸集,所以函数 $g$ 是凸函数。
> **举例**&emsp;**Euclid 范数的平方**。$\mathbb{R}^n$ 上的凸函数 $f(x)=x^{\TT}x$ 的透视函数由下式给出
>
> $$
> g(x,t)=t(x/t)^{\TT}(x/t)=\frac{x^{\TT}x}{t}
> $$
>
> 当 $t>0$ 时它关于 $(x,t)$ 是凸函数。
>
> 我们可以利用其他方法导出$g$的凸性。首先,将 $g$ 表示为一系列二次-线性分式函数 $x_i^2/t$ 的和。在[凸函数举例][]部分,我们已经知道,每一项 $x_i^2/t$ 是凸函数,因此和亦为凸函数。另一方面。我们可以将 $g$ 表述为一种特殊的矩阵分式函数 $x^{\TT}(tI)^{-1}x$,由此导出凸性。
> **举例**&emsp;**负对数**。考虑 $\mathbf{R}_{++}$ 上的凸函数 $f(x)=-\log x$,其透视函数为
>
> $$
> g(x,t)=-t\log(x/t)=t\log(t/x)=t\log t-t\log x
> $$
>
> 在 $\mathbf{R}_{++}^{2}$ 上它是凸函数。函数 $g$ 称为关于 $t$ 和 $x$ 的**相对熵**(*relative entropy*)。当 $x=1$ 时,$g$ 即为负熵函数。
>
> 基于函数 $g$ 的凸性,我们可以得出一些有趣的相关函数的凸性或凹性。首先,定义两个向量 $u, v\in \mathbf{R} _{+ + }^{n}$ 的相对熵
>
> $$
> \sum_{i=1}^nu_i\log(u_i/v_i)
> $$
>
> 由于它是一系列 $u_i,v_i$ 的相对熵的和,因此关于 $(u,v)$ 是凸函数。
>
> 另一个密切相关的函数是向量 $u,v\in\mathbf{R}_{++}^{n}$ 之间的 **Kullback-Leibler 散度**(Kullback-Leibler divergence),其形式为
>
> $$\begin{equation}\label{KLDivergence}
> D_{\mathrm{kl}}(u,v)=\sum_{i=1}^{n}\left(u_{i}\log(u_{i}/v_{i})-u_{i}+v_{i}\right)
> \end{equation}
> $$
>
> 因为它是 $(u,v)$ 的相对熵和线性函数的和,所以它也是凸函数。Kullback-Leibler 散度总是满足 $D_{\mathrm{kl}}(u,v)\geqslant0$,当且仅当 $u=v$ 时,$D_\mathrm{kl}(u,v)=0$,因此 Kullback-Leibler 散度可以用来衡量两个正向量之间的偏差。(注意到当 $u$ 和 $v$ 都是概率向量,即 $\mathbf{1}^{\TT}u=\mathbf{1}^{\TT}v=1$ 时,相对熵和 Kullback-Leibler 散度是等价的。)
>
> 如果在相对熵函数中选择 $v_i=\mathbf{1}^{\TT}u$,我们可以得到定义在 $u\in\mathbb{R}_+^n$ 上的凹函数(也是齐次函数)
>
> $$
> \sum_{i=1}^{n}u_{i}\log(\mathbf{1}^{\TT}u/u_{i})=(\mathbf{1}^{\TT}u)\sum_{i=1}^{n}z_{i}\log(1/z_{i})
> $$
>
> 其中 $z=u/(\mathbf{1}^{\TT}u)$。此函数称为**归一化熵**(*normalized entropy*)函数。向量 $z=u/\mathbf{1}^{\TT}u$ 的分量和为 1,称为归一化向量或者概率分布;$u$ 的归一化熵是 $\mathbf{1}^{\TT}u$和归一化概率分布 $z$ 的熵的乘积。
> **举例**&emsp;设 $f:\mathbf{R}^m\to\mathbf{R}$ 是凸函数,$A\in\mathbf{R}^m\times n,b\in\mathbf{R}^m,c\in\mathbf{R}^n,d\in\mathbf{R}$。定义
>
> $$
> g(x)=(c^Tx+d)f\left((Ax+b)/(c^Tx+d)\right)
> $$
>
> 其定义域为
>
> $$
> \mathbf{dom}g=\{x\mid c^Tx+d>0,(Ax+b)/(c^Tx+d)\in\mathbf{dom}f\}
> $$
>
> 则$g$是凸函数。
# 参考文献
1. Stephen P. Boyd and Lieven Vandenberghe, *Convex optimization*. Cambridge, UK: Cambridge University Press, 2004.
2. Stephen P. Boyd and Lieven Vandenberghe, *凸优化*. 北京: 清华大学出版社, 2013.
[透视函数]: https://josh-gao.top/posts/a4a69a4f.html#%E9%80%8F%E8%A7%86%E5%87%BD%E6%95%B0
[凸函数举例]: https://josh-gao.top/posts/320f661c.html#%E4%BE%8B%E5%AD%90