凸优化笔记(2): 凸函数

让我们(particularly me)继续凸优化之旅,今天要讨论的是凸函数。

写完笔记1之后回顾了一下,虽然很努力的不往抄书的方向走了但是,对于这种堆砌的概念还是不知道怎么用自己的语言说出来啊,在这篇笔记中试着改进下吧。

基本性质与例子

首先要讨论的是凸函数的基本性质,或者说如何判断一个函数是否是凸函数(当然在这之前会给出凸函数的定义),然后给出一些很常见的凸函数的例子。之后通过上境图(epigraph)这个中译有点无力吐槽说明了凸函数与凸集之间的关系,最后对Jensen不等式进行了简要论述。

按我的理解,这一小节其实是给出了证明一个函数是凸函数的三种方法:定义,一阶条件与二阶条件。

凸函数与扩展值延伸

给出如下定义:一个函数$f:R^n\rightarrow R$是的,如果:

  1. $x$的定义域是凸集,即$x$的取值范围是凸集
  2. 对于$\forall x, y\in\mathrm{dom} f, \theta\in[0,1]$,有:$f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y)$

特别地,如果2中的不等式中没有等号,称函数是严格凸的

基于上述定义,我们可以知道:一个仿射函数$f(x)=Ax+b$肯定是凸的——事实上,仿射函数既是凸的也是凹的,因为仿射函数在上式中始终取到等号。

为了更好的简化符号的描述,书中对凸函数的定义域进行了延伸,即:一个凸函数在其定义域中取到值$f(x)$,而在其它不在定义域的范围内取到$+\infty$。这样的延伸约定不会改变不等式性质,Boyd教授对此是十分推崇的可能数学家对定义域或者论证严谨性都有很高的要求吧我总觉得这些东西无关紧要至少不需要单开一小节来说明TAT

另外提到了凸集的示性函数,简单说一下,其实顾名思义就是这个函数是用来展示凸性的,所以$x\in C$的部分都取0,表示这些域里是凸的,其它也就是$x\notin C$的部分都取作$+\infty$,和上面的扩展值延伸巧妙的重合了。

一阶条件

假设$f$可微(也就是梯度在开集$\mathrm{dom}f$内处处存在),则函数$f$是凸函数的充要条件是:$\mathrm{dom}f$是凸集,并且对于任意的$x,y\in\mathrm{dom}f$,有下式成立:

Boyd说:上面的不等式说明从一个凸函数的局部信息(即它在某点$x$的函数值与导数),我们可以得到一些全局信息,这也许是凸函数的最重要的信息。比如说我们知道在$x$点的$\nabla f(x)=0$,那么对于所有在$f$定义域中的点$y$,根据不等式都有$f(y)\geq f(x)$,也就是说$x$是函数$f$的全局极小点。

对一阶条件的充要性的证明可以从构造$g(t)=f(ty+(1-t)x)$着手:对于充分性,有$g(1)\geq g(0)+g^\prime(0)$;必要性直接按步骤推导即可。

二阶条件

二阶条件首先要求函数$f$二阶可微,即对于开集$\mathrm{dom}f$内的任意一点,它的Hessian矩阵或者二阶导数$\nabla^2f$存在。

关于Hessian矩阵,又称海赛阵,这个名字我在本科数值计算方法里学过但是忘记了,查了查资料试着捡起来:Hessian矩阵是一个二阶偏导数构成的方阵,描述了函数的局部曲率。Hessian具有对称性,因为如果函数$f$在定义域内二阶连续可导,那么二阶偏导数的求导顺序对求导结果没有影响。

好了,二阶条件实在非常简单,就是Hessian矩阵是半正定阵,即:

换句话说,这也是函数$f$是凸的充要条件。

一些例子

首先给出的是定义在$R$上的凸函数例子:

  • 指数函数:$f(x)=e^{ax}, a,x\in R$是凸的。
  • 幂函数:$f(x)=x^a$在$a\in[0,1]$时是$R_{++}$上的凹函数,与之相对,$a\leq 0$或$a\geq 1$时在$R_{++}$上是凸函数。
  • 绝对值幂函数:$f(x)=|x|^p$在$p\geq1$时是$R$上的凸函数
  • 对数函数$\mathrm{log}x$在$R_{++}$上是凹函数
  • etc, 懒得列举了。另外Boyd教授在视频中主要讨论的是四个函数(都是通过二阶Hessian矩阵的性质也就是二阶条件来证明凸/凹性的)
    • 二次-线性分式函数$f(x)=x^2/y$,定义域$x\in R, y>0$在$R^n$上是凸函数;
    • 指数和的对数$f(x)=\mathrm{log}(e^{x_1}+…+e^{x_n})$。Boyd教授提到这个一般用于EE中是为了起一个平滑的作用:把$x_i$看作第$i$个到来的信号,如果这个信号很大,其exp也会很大,所以要求和以后再求对数,来平滑这个很大的信号所造成的影响。
    • 几何平均:$f(x)=(\prod_{i=1}^nx_i)^{1/n}$,在定义域$R^n_{++}$上是凹函数;
    • 对数行列式:$f(x)=\mathrm{log}\mathrm{det}X$在定义域$S^n_{++}$上是凹函数,在视频中还进行了简单的证明。

下水平集与上境图

下水平集就是,对于好好的一个函数,我设定一个y值,然后把所有让函数$f(x)\leq y$的定义域$\mathrm{dom}f$择出来,这其中的性质是:如果函数$f$是凸集,那么它的任意下水平集都是凸集——值得注意的是,这个性质反过来是不成立的。

上境图的翻译实在是无力吐槽,我用实际名词epigraph进行替代吧。epigraph就是所有在函数曲线上面的部分。这里直接反映了凸函数和凸集的关系:一个函数是凸函数,当且仅当这个函数的epigraph是凸集

Jensen不等式

讲到这里的时候,Boyd教授忽然介绍了Jensen不等式,然后露出迷之微笑,说,大家可以看到Jensen不等式就是我们的凸函数的定义,在此再抄一遍,就是:

当然这里面的元素还可以扩展到多个。

很多著名的不等式都可以通过把Jensen不等式应用到合适的凸函数来得到。书中说道:事实上,凸性和Jensen不等式可以构成不等式理论的基础,我把这句话摘出来并且加粗是因为从我这个数学外行角度来看,这是很厉害的一句话了。书里面举了个例子:对于算术-几何平均的不等式$\sqrt{ab}\leq (a+b)/2$,就是使用了凸性和Jensen不等式对函数$f(x)=-\mathrm{log}x$进行讨论,在$\theta=1/2$时候推导出来的结果。