凸集与凸函数
本文内容包括: 凸集与凸函数的定义、性质、运算操作和例子,softmax函数是凸函数。
凸集
定义
凸集: 是一个凸集如果
换句话说,在集合内任意两个元素连接成的直线上的点也在该集合内,这样的集合叫做凸集。
上图中,左边的集合是凸集,而右边的集合不是。
凸组合: 的凸组合是一个任意的线性组合 其中 而且
凸包:集合的凸包,是集合中元素的所有凸组合。一个凸包总是凸的,但是集合不需要是凸的。
凸集的例子
- 特定的集合(Trivial): 空集, 点,线
- 范数球(Norm ball): , 对于给定范数, 半径
- 超平面(Hyperplane):
- 半空间(Halfspace):
- 放射空间(Affine space):
- 多面体(Polyhedron):
- 单面(simplex)
锥(Cones)
定义
Cone是一个集合满足:
Convex cone是一个凸的锥,例如: 凸锥的实例如下图所示:
锥组合: 的凸组合是一个任意的线性组合: 其中 。
锥包(Conic hull):是所有锥组合的集合:
凸锥的例子
Norm cone: ,当这个范数是使用的2范数的时候,被称为second-order cone.
Normal cone: 给定集合C与点,可以定义:
满足该定义的点的集合都是Normal cone,其含义是指在normal cone中的点与集合C内的点的内积永远大于集合C内任意点与x的内积。
Positive semidefinite cone: --正半定锥
Positive semidefinite: 一个矩阵X是正半定的当X的所有特征值都大于等于0 。
凸集的主要性质
凸集有两个重要的性质,这对于机器学习中的分类问题(如SVM)来说,在理论上起着支撑作用。
分隔超平面理论(Separating hyperplane theorem):两个不相交的凸集之间存在一个分割超平面。一个正式定义是:如果C、D是非空的凸集,且,那么存在a,b使得: 如下图所示:
支撑超平面理论(Supporting hyperplane theorem):如果C是一个非空的凸集,而且,那么存在一个a使得:
保存凸性质的操作
- 交(intersection):凸集的交集依然是凸集。
- Scaling and translation: 如果C是凸集,那么也是凸集,对于任意的a,b。
- Affine images and preimages: 如过和是凸的,那么 也是凸集;如果是凸集那么也是凸集。
凸函数
定义
凸函数: 是凸函数如果
如图所示,f总是在的直线连线的下方。
凹函数与凸函数有着相反的定义,我们可以推出:
凸函数有两个重要的分类(修饰符):
严格凸性质(Strictly convex): 这意味着对于换句话说,f是凸函数而且曲率比线性函数大。
强凸性质(Strongly convex):有参数使得是凸函数。也就是,f至少像二次函数一样的凸函数。
,例如函数是严格凸的,但是不是强凸性的。
凸函数的例子
- 单变量函数
- 指数函数
- 幂函数
- 对数函数(在上是凹的。)
- 仿射函数: 既是凹的也是凸的。
- 二次函数: 是凸函数如果
- 最小二乘损失:总是凸函数,因为总是正半定的。
- 范数是凸函数(任何范数)
- 指示函数(indicator function):如果C是凸集,那么它的指示函数 也是凸函数。
- 支撑函数(support function):对于任意集合C(不论是否是凸集),它的支撑函数是凸函数
- 最大函数是凸函数。
凸函数的主要性质
Epigraph characterization:一个函数是凸函数当且应当其epigraph是凸集,其中epigraph被定义为: 简单的说,epigraph是函数图像上方的点的集合。
Convex sublevel sets:如果f是凸函数,那么它次层集合也是凸的,对于所有的。反之则不成立。
First-order characterization:如果f是可微的,那么f的凸函数当且仅当dom(f)是凸的,且。也就是说,f必须在它的切线超平面上方。因此,对于一个可微的f, x最小化f当且仅当。
Second-order characterization:如果f是二次可微的,那么f是凸函数当且dom(f)是凸集。而且它的Hessian矩阵。
Jensens inequality:如果f是凸函数,而且X是f的定义域上的一个随机变量,则。
保存凸函数性质的操作
非负的线性组合
pointwise maximization:定义一个新的函数f(x)在x的值为有限可数的凸函数在x处的最大值,则f为凸函数,这意味着我们总能以逐点的方式最大化一系列函数。
partial minimization:如果在x, y上是凸函数,而且C是一个凸集,那么在凸集C上的任意变量上局部最小化函数也是凸函数,如
仿射组合:如果f是凸函数,那么也是凸函数。
General composition:是凸函数当:外层函数h:是单调的,且内层函数g:是凹函数或者凸函数。
- f是凸函数,如果h是凸函数且不单减,g是凸函数
- f是凸函数,如果h是凸函数且不单增,g是凹函数
- f是凹函数,如果h是凸函数且不单减,g是凹函数
- f是凸函数,如果h是凸函数且不单增,g是凹函数
向量组合:与general composition相似,不过是逐点的形式。
例子:Softmax函数
Log-sum-exp(LSM)函数是: 对于固定的。
Log-sum-exp是凸函数,是严格单调递增的函数,但是并不是具有严格凸性质的。log-sum-exp可以选出平滑的最大值,利用切线逼近,如果某一项比其他的所有项都大:
,则偏导数是: 用梯度表示偏导数作为向量,可以得到softmax函数,一个在机器学习中被广为应用的函数。
话说回来,为什么log-sum-exp是凸函数呢?
由于仿射组合会保存凸性质,所有只要证明是凸函数就可以了。通过f(x)的二阶性质我们可以证明其凸性质:
(我也不知道这个二阶导是怎么求的。数学堪忧。。)
重写前一个公式有,其中,这个矩阵是严格对角占优的,所以是正半定的(p.s.d),根据凸函数的二阶性质,f(x)是凸的。
例子:函数是凸函数吗?
在这个课程中,还讲了这样一个例子,上述函数是凸函数吗?
答案是是凸函数,它可以通过凸函数的性质与保存凸函数性质的操作得到。