凸优化学习笔记(2)——凸函数

来源:互联网 发布:php二分查找算法 编辑:程序博客网 时间:2024/06/05 07:30

笔记是根据《Convex Optimization》写的,序号对应章。

3 凸函数

3.1 基本性质及例子
  满足如下条件的从n维映射到1维的函数称凸函数:

f(θx+(1θ)y)θf(x)+(1θ)f(y)

其中0θ1。凸函数的一维导数有如下性质:
f(y)f(x)+f(x)T(yx)

可以注意到其实等号右边是fx上的一阶泰勒展开式。另外,凸函数的二阶导数大于或等于0。凸函数举例如下:
1) 指数函数eax
2) 幂函数xa,其中x大于或等于0,当a不属于0-1范围内时为凸函数,否则为凹函数
3) 绝对值的幂函数|x|a,其中a>1
4) 对数函数logx
5) 负熵xlogx
6) 范数
7) 最大值函数max(x)
8) 二次-线性分式函数f(x,y)=x2/yy大于0
9) 指数和的对数f(x)=log(ex1+ex2+,,+exn).这其实是一个soft-max
10) 几何平均f(x)=(ni=1xi)1/n
11) 行列式的对数log|A|,其中A矩阵正定
  另外还有两个概念。下水平集:即函数值小于某个阈值对应的定义域。上镜图:即{(x,t)|tf(x)},这是一片函数之上的区域。同时,凸函数满足jensen不等式。
3.2 保凸运算
1)非负加权和,即把多个函数乘上一个非负的权重加起来。
2)复合仿射
g(x)=f(Ax+b)

如果f是凸的,则g是凸的。如果f是凹的,g也是凹的。即对自变量仿射后保凸。
3)逐点最大,即多个函数中相同自变量取其中最大者,该运算保凸。
4)复合
  设f(x)=h(g(x)),则有如下情况:
  如果h是凸函数且非减,g是凸函数,则f是凸函数。
  如果h是凸函数且非增,g是凹函数,则f是凸函数。
  如果h是凹函数且非减,g是凹函数,则f是凹函数。
  如果h是凹函数且非增,g是凸函数,则f是凹函数。
f的拓展函数与上相同。
5)下界
g(x)=inf(yC)f(x,y)

  如果f(x,y)中是凸的,则g也是凸的。
6)透视函数
g(x,t)=tf(x/t)

  其中t大于0.如果f是凸的,则g是凸的,如果f是凹的,g也是凹的。
3.3 共轭函数
  共轭函数表达式是:
f(y)=supx(yTxf(x))

其中sup是求上界。其含义是,给定y时平面yTxf(x)的最大距离。下图的虚线即平面yTxyTxf(x)的最大距离出现在f(x)斜率为y的切线上。任何函数的共轭函数都是凸的,因为从表达式中可以看到f(y)y的仿射。
共轭函数
  共轭函数的求法是令xyf(x),带入f(x)的表达式中并对x求导,使求导结果等于0(即求f(x)xy距离的最值),把x的结果回代进f(y)=xyf(x)即可。
3.4 拟凸函数
  如果一个函数的下水平集(sublevel sets)是凸集,则该函数是拟凸函数。例如:
1) 对数函数logx
2) 上取整函数ceil(x)=inf{zZ|zx}
3) 向量的长度
4) f(x1,x2)=x1x2,由于该矩阵的Hessian矩阵不是正定,也不是负定,但是其下水平集是凸集。
5) 线性分式f(x)=(aTx+b)/(cTx+d)
  对于一个函数来说,如果满足其非减,或非增,或存在一个点函数小于该点非增,大于该点非减,则该函数为拟凸的。
拟凸函数
3.5 对数凸函数
  如果函数的值域大于0,并且logf(x)是凸的,则该函数成对数凸函数。对数凹函数同理。例如:
1) 仿射函数
2) 幂函数f(x)=xa,其中x大于0且a小于等于0.若a大于等于0则为对数凹函数
3) 指数函数
4) 高斯分布的累积分布函数
5) Gamma函数
6) 矩阵的行列式
7) 矩阵的行列式除以迹
  需要注意,两个对数凸函数相乘依然是对数凸函数,相加却未必。两个对数凸函数的卷积运算是对数凸函数。对数凸函数的积分运算是对数凸函数。

1 0