凸集与凸函数

本文内容包括: 凸集与凸函数的定义、性质、运算操作和例子,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)来说,在理论上起着支撑作用。

  1. 分隔超平面理论(Separating hyperplane theorem):两个不相交的凸集之间存在一个分割超平面。一个正式定义是:如果C、D是非空的凸集,且,那么存在a,b使得: 如下图所示: 分割超平面

  2. 支撑超平面理论(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)是凸的。

例子:函数是凸函数吗?

在这个课程中,还讲了这样一个例子,上述函数是凸函数吗?

答案是是凸函数,它可以通过凸函数的性质与保存凸函数性质的操作得到。

results matching ""

    No results matching ""