> - 设 $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. 最小化 我们已经得到,任意个凸函数的逐点最大或者上确界仍然是凸函数。事实上,一些特殊形式的最小化同样可以得到凸函数。若函数 $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\} $$ 任取 $x_1$, $x_2\in \dom g$,利用 Jensen 不等式来证明上述结论。 > **证明** 令 $\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) > $$ 此结论亦可通过上境图来说明。对式 $\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$是凸集在其中一些分量上的投影,所以它仍然是凸集。 > **举例** **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 补。 > **举例** **到某一集合的距离**。采用范数 $\|\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$ 的凸函数。 > **举例** 设 $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. 透视函数 给定函数 $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$ 亦是凹函数。 可以从多个角度来证明此结论,例如,我们可以直接验证定义凸性的不等式。这里应用上境图和[透视函数][]一节所描述的 $\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$ 是凸函数。 > **举例** **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$,由此导出凸性。 > **举例** **负对数**。考虑 $\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$ 的熵的乘积。 > **举例** 设 $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