凸函数1(斯坦福凸优化笔记5)

1 基本性质和例子

1.1 凸函数

函数 f:RnR 是凸的,如果 dom f 是凸集,且对于任意 x,ydom f 和任意 0θ1 ,有:
f(θx+(1θ)y)θf(x)+(1θ)f(y)
则称为函数是凸的。
称函数 f 是严格凸的,如果上式中不等式 xy 以及 0<θ<1 严格成立。
如果函数 f 是凸的,则函数 f 是凸的。
1.2 扩展值延伸

通常我们可以定义凸函数在定义域外的值为 ,从而将这个凸函数延伸至全空间 Rn
如果 f 是凸函数,我们定义凸函数的扩展值延伸 f˜RnR{} 如下:

f~(x)={f(x)xdom fxdom f

延伸函数是定义在全空间 Rn 上的,值域是 R{}
我们还可以从延伸函数 f~ 的定义中找出原函数的定义域,即 dom f={xf~(x)<}
这样定义后,我们在描述不等式时就不需要限定定义域了。
比如对于上面的不等式,对于延伸函数,可以描述为:
对于任意 x y ,以及 0<θ<1 ,有:
f~(θx+(1θ)y)θf~(x)+(1θ)f~(y)
不引起歧义的情况下,以后将假设所有凸函数都被隐含的延伸了,不引起歧义的情况下, f~ 将被简写为 f
1.3 一阶条件:

假设 f 可微(即其梯度 f 在开集 dom f 内处处存在),则 f 是凸函数的充要条件:
1 dom f 是凸集
2 x,ydomff(y)f(x)+f(x)T(yx)
一阶条件是充要条件。
对于严格凸函数的一阶条件,我们有:
1 dom f 是凸集
2 x,ydomf,xyf(y)f(x)+f(x)T(yx)
算子的解释:
对于

x=x1x2xn,f(x)=f(x)x1f(x)x2f(x)xn

一阶条件
(图片来自斯坦福Boyd Convex Optimization)
如果函数 f 是凸的且可微,那么对于任意 x,ydomf ,有 f(x)+f(x)T(yx)f(y)
1.4 二阶条件:

假设函数 f 二阶可微,函数 f 是凸函数的充要条件是:其Hessian矩阵是半正定阵。即 2f(x)0
黑塞矩阵定义:黑塞矩阵
严格凸的条件可以部分由二阶条件刻画。
如果对于任意 xdomf ,有 2f(x)0 ,则函数 f 严格凸。反过来不一定成立,例如,函数 f:RR,f(x)=x4 ,它是严格凸的,但是不满足上述条件。
例:二次函数
对于函数 f(x)=(1/2)xTPx+qTx+r 2f(x)=P ,所以 f 是凸的 P0
对于二次函数,严格凸比较好表达,可以推出: f 是凸的 P0
无论应用一阶条件还是二阶条件,都必须提前验证定义域是凸的:
对于函数 f=1x 因为定义域不是凸的,直接可以判断函数不是凸的。
关于矩阵的求导运算,请参阅矩阵理论课程。这里给出简要的一点介绍。
1.5 矩阵求导

1) 矩阵对标量求导
相当于矩阵中每个元素对标量求导:
矩阵对标量求导
2) 标量对矩阵求导
注意与上面不同,这次括号内是求偏导,对 m×n 矩阵求导后还是 m×n 矩阵
标量对矩阵求导
3) 函数矩阵 Y 对矩阵 X 求导
矩阵 Y 对每一个 X 的元素求导,构成一个超级矩阵。
矩阵对矩阵求导
矩阵对矩阵求导
其中:
矩阵对矩阵求导
重要结论:假设 x⃗  是一个向量:
重要结论
4) 向量积对列向量 x⃗  求导运算法则
注意与标量有点不同,假设 u⃗ ,v⃗  都是列向量,
向量积的求导
5)重要结论
结论
1.6 一些常见的例子

范数。 Rn 上的任意函数都是凸函数。
最大值函数是凸的,因为最大值函数可以看成是无穷维的范数。
范数是凸函数的证明可以直接用凸函数的定义加上三角不等式得出(简单的说,就是三角形两边之和大于第三边)。
二次线性分式函数 f(x,y)=x2/y(y>0) 是凸的:

f(x,y)=2y3[y2xyxyx2]=2y3[yx][yx]T0

指数和的对数: f(x)=log(ex1++exn) 是凸函数。
仿射函数既是凸函数,也是凹函数。
对于广义矩阵的乘法(仿射),对于 XRm×n,f(X)=tr(ATX)+b ,也既是凸函数也是凹函数。
几何平均 f(x)=(i=1nxi)1n 是一个凹函数。
1.7 凸函数的仿射定理
对于函数 f:RnR 是凸函数当且仅当对:
g:RR,g(t)=f(X+tV) domg={tX+tVdomf} 是凸的。(对于所有 Xdomf,VRn
我们用这个定理证明下以下结论: f(X)=log detX 是凸的。
g(t)=log det(Z+tV)Z,VSn,Z0
   =log det(Z1/2(I+tZ1/2VZ1/2)Z1/2)
对于方阵,行列式的乘积等于乘积的行列式。
矩阵的行列式还等于矩阵特征值的乘积。所以:
   =i=1nlog(1+tλi)+log detZ
其中 λ1,λn 是矩阵 Z1/2VZ1/2 的特征值。
g(t)=i=1nλi1+tλi
g′′(t)=i=1nλ2i(1+tλi)20
所以,原函数是凸的。
1.8 下水平集和上镜图

函数的下水平集定义为:
Cα={xdomff(x)α}
下水平集是自变量的一个范围。一个凸函数的下水平集仍然是凸集,反之不成立。
函数的上镜图定义为:
epif={(x,t)xdomf,f(x)t}
上镜图是函数上方的一个范围。一个函数是凸函数,当且仅当其上镜图是凸集。
下图展示了上镜图的图片。
上镜图
(图片来自斯坦福Boyd Convex Optimization)
(未完,待续)

猜你喜欢

转载自blog.csdn.net/xingce_cs/article/details/74277760