《凸优化》笔记(二):凸函数

时间:2024-04-11 12:38:35

本文转载自:https://blog.csdn.net/u010366427/article/details/51879112

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

3 凸函数

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

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


其中0≤θ≤10≤θ≤1。凸函数的一维导数有如下性质: 

f(y)≥f(x)+∇f(x)T(y−x)f(y)≥f(x)+∇f(x)T(y−x)


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

g(x)=f(Ax+b)g(x)=f(Ax+b)


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

g(x)=inf(y∈C)f(x,y)g(x)=inf(y∈C)f(x,y)


  如果ff在(x,y)(x,y)中是凸的,则gg也是凸的。 
6)透视函数 

g(x,t)=tf(x/t)g(x,t)=tf(x/t)


  其中tt大于0.如果f是凸的,则gg是凸的,如果ff是凹的,gg也是凹的。 
3.3 共轭函数 
  共轭函数表达式是: 

f∗(y)=supx(yTx−f(x))f∗(y)=supx(yTx−f(x))


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