说完了凸集,下一个要将的肯定就是凸函数啦~
凸函数的相关性质在优化中的地位不言而喻~!
凸函数
是凸函数,如果的定义域是凸集,并且成立:
如果时上面的不等号严格成立,那么就说这个函数是严格凸的。
几何上看,凸函数要求和这条线段位于函数图形的上方。
对应的,我们还有定义“凹函数”,当是凸函数时,被称为凹函数。
对于仿射函数,它是既凸又凹的。同时,既凸又凹的函数只有仿射函数。
如果是凸函数,那么也是凸函数,反过来的结论也成立。这说明,凸函数限制在任何一条直线上都是凸!凸函数的概念完全可以从欧式空间推广到一般的线性空间,在一般的线性空间上,这条性质成为我们判断凸函数的重要依据。
凸函数还具有良好的分析性质,比如,凸函数在它定义域的相对内点集上是连续的;凸函数的不连续点只可能出现在它的相对边界上。
凸函数定义域延拓
有时候我们会把一个凸函数的定义域延拓到整个空间中:
可以证明,这样延拓的凸函数也满足凸函数的定义。(在定义好关于的运算后)。这样的定义在函数表示上有一定的意义。
一阶条件(first order condition)
可微的凸函数满足一阶条件:
这个不等式揭示了凸函数的局部特性,那就是在一点的切平面是整个函数的 global underestimate 。
如果上面的不等号严格成立,那么这个函数是严格凸的。这里的条件是充分必要的。
二阶条件(second order condition)
如果定义在开凸集上的二阶可微函数满足,那么是凸函数。
如果,那么是严格凸的。
当严格凸时,不一定能推出正定。比如,二阶导数在处为。
关于一阶条件和二阶条件的证明,要用到泰勒展开。在此从略。
凸函数的例子
- 指数函数、多项式函数,绝对值函数都是凸的;对数函数是凹的。
- 最大值函数是凸的。
对 is convex on 。有估计式:这个函数是最大值函数的一个光滑近似。
是凹函数,容易证明是半负定的。
是上的凹函数。它是一个定义在矩阵空间上的函数。(关于它的证明,参见我的另一篇文章)
下水平集(sublevel sets)
定义的 为:
易证是凸函数的时候是个凸集。
从而这里给出了判断凸集的另一个方法:能被写成某个凸函数的 -sublevel set 的集合是凸集。反之,一个函数的 sublevel set 是凸的,并不能反推出它是凸函数(事实上这个函数是拟凸的)。
例: 是凸集。
对于是凹函数有相应的结论:是凸集。
Epigraph
一个函数的的 epigraph 是指:
是的子集,是函数图形的上方。是凸集当且仅当是凸函数。所以epigraph 也是一种主要的判断凸函数的方法。
对应于凹函数我们定义 hypograph:
是凸集当且仅当是凹函数。
例:的 epigraph 是凸集,从而是凸函数。类似可得是凹函数。
琴生不等式(Jesen inequality)
琴生不等式是凸函数的重要性质。
对和成立:
这是有限个点的情况。该不等式还能扩展到无限和、积分等情况。
If on , then:
对某些凸函数应用琴生不等式可以得到许多著名的不等式:
比如Holder 不等式:
保持函数凸性的操作
若干凸函数非负的加权和
在 infinite 的情况下,对是凸的,并且,那么 是凸的。与仿射函数的复合
- 凸函数的最大值(上确界)函数
在 infinite 的情况下,对是凸的,那么 也是凸的。
,凸集的交仍然是凸的,因此也是凸的。
事实上,绝大多数的凸函数,都能够表示成一族仿射函数的上确界函数,这种方法也是判断凸函数最常用的方法。
- 一般的函数复合的情况
- 函数的透视
透视操作是保持凸(凹)性的。
- 特殊情况下的下确界函数
如果对是凸的,是一个非空凸集,那么是凸的。
另外,也可以通过来证明凸性。
共轭函数(Conjugate Function)
定义函数的共轭函数为: 共轭函数是多个仿射函数的上确界,因此是一定是凸函数。共轭函数的定义域是上确界值有限的的值。
一些例子:
- ,注意到只在时有界,因此共轭函数只在处有定义,并且
- ,
- 的共轭函数是
- 的共轭函数是
共轭函数具有鲜明的几何意义:
当是一元函数的时候,如上图所示,表示以为斜率且过原点的直线,与的图像的最大距离(或者其负数)。
当是元函数的时候,表示以为法向量(n+1维)且过原点的平面,与的图像的最大距离(或者其负数)。
非空集合的示性函数(indicator function )定义为: 的共轭函数是支撑函数:
设代表中的一种范数,其对偶范数为,我们能得到共轭函数:
Fenchel’s inequality
根据共轭函数的定义,下式是显然的:
应用到上面的例子,还能得到:
共轭函数的共轭
如果是凸函数,并且是闭集,那么。
可微分函数的共轭
如果是凸函数并且一阶可微,那么根据凸函数的极值理论,容易得到,使得最大的满足:
从而我们有:
欲求,只需要解得到向量
可微函数的共轭,也叫做的 Legendre变换。
其他性质
如果,且都是凸函数,那么:
拟凸函数(Quasiconvex functions)
拟凸函数就是所有下水平集是凸集的函数。比如就不是凸函数,但是是拟凸的。
上的拟凸函数,要么是单调的,要么在一个点左边单调递减,右边单调递增。
很多凸函数具有的良好性质,可以推广到拟凸函数上。
一个定义在凸集上的函数是拟凸函数,当且仅当,,成立:
这意味着,线段上的函数值,一定小于等于两个端点函数值最大的那一个。这个既可以当做拟凸函数的性质,也能当做拟凸函数的定义。(关于两种定义等价性的证明,看这里)
针对这个性质还有另一个版本:
一些资料上把这个当做拟凸函数的定义,并且当不等号严格成立时,称是严格拟凸的。
来看一些例子。
- ,容易看到是不定的,因此既不是凸函数也不是凹函数。但是是凸集,所以是拟凹函数。
- 线性分式函数是拟线性的。
- 因为所以是上的拟凹函数
可微分的拟凸函数
类似于凸函数,当函数可微时,可以推导出拟凸函数需要满足的一阶条件和二阶条件。
一阶条件
该条件也有鲜明的几何意义。导出了过点的对下水平集的支撑超平面。(高维情况很难想象,不妨考虑一维情况,这时候支撑超平面就退化为一个点,下水平集是一个区间)
注意到对于给定的,表示的是一个平面。
虽然拟凸函数和凸函数在一阶条件上具有相似性,但是拟凸函数并不能用一阶条件来判断全局的最小值。当时,不一定是 global minimizer.
二阶条件
这个条件,意味着在是半正定的,同时至多有一个负特征值。(是一维的,从而是 维的)
如果在是正定的,那么才能说明是拟凸的。
保持拟凸性的操作
- 拟凸函数非负加权和的最大值
这里就用之前提到过的第二种定义方式进行证明即可。同样可以推广到逐点上确界的情况。
,其中,是拟凸的,叫做的广义特征值。
- 函数复合
对数凹/对数凸函数
简单讲,,并且是凹函数,那么就称为对数凹的。
对数凹还可以用来定义。从这里看,凸函数可以视作一种“算术平均”,对数凸则是“几何平均”。
为什么要研究对数凸/凹函数呢?
统计学中的似然函数,是一个经常要取对数的函数,欲求参数的极大似然估计值,其实就是一个关于似然函数的优化问题,如果似然函数是对数凹的,那么求对数似然函数负值的最小值,就是一个凸优化问题!这是研究对数凹函数的目的所在。
- 标准正态分布的累计分布函数是对数凹的。
- 在上是对数凹的。
- 多元正态概率密度函数是是对数凹的。
事实上,很多常见的概率分布函数,都是对数凹的。
如果具有良好的光滑性,通过的凹凸性,我们可以得到一些关于的性质:
因为:
于是可以得到对数凹的一个充要条件:
在一元函数的情况,就是:。
此外,对数凸/凹性是对乘法保持封闭的。从容易看出。如果概率密度函数是对数凹的,那么多个密度函数相乘的结果也是对数凹的。
广义不等式下的凸性
通过前面提到的广义不等式,可以定义函数的“单调递增”和“严格单调递增”。
想想为什么的定义不使用
例子:
- 是上的 increasing 函数。
如果是半正定矩阵,那么。(借助特征值证明)
- 是上的 decreasing 函数。
单调性的梯度条件
对于这种新的单调性,我们可以用广义不等式下的梯度条件去判断。
- is K-nondecreasing
- is K-increasing
函数的梯度在对偶不等式的情况下是非负的。其实这里暗指的,就是在中的每一个方向都是单调递增的。
广义不等式下的凸性
进一步,通过广义不等式还能把函数的凸性定义在一个 proper cone 上:
值得注意的是,通常我们说的凸函数,值域是,而K-convex 的定义上,凸函数的值域被推广到了。
凸函数的大多数性质,可以推广到K-convex 函数上。
因为值域是,一阶条件的梯度变成了 Jacobi 矩阵。