本节将介绍凸函数定义及其基本性质。
本文是关于梯度下降法:凸函数 VS \text{VS} VS强凸函数的逻辑补充。涉及的证明过程如:
- 凸函数的一阶条件;
- 凸函数的梯度单调性;
- 凸函数的二阶条件
详见上述链接。
关于凸函数的基本定义表示如下:
假设
C
\mathcal C
C是非空凸集,
f
(
⋅
)
f(\cdot)
f(⋅)是定义在
C
\mathcal C
C上的函数,如果对于
∀
x
,
y
∈
C
\forall x,y \in \mathcal C
∀x,y∈C且
α
∈
(
0
,
1
)
\alpha \in (0,1)
α∈(0,1),均有:
关于凸集的概念、基本性质、凸组合详见凸集的简单认识。
f
[
α
⋅
x
+
(
1
−
α
)
⋅
y
]
≤
α
⋅
f
(
x
)
+
(
1
−
α
)
⋅
f
(
y
)
f[\alpha \cdot x + (1 - \alpha) \cdot y] \leq \alpha \cdot f(x) + (1 - \alpha) \cdot f(y)
f[α⋅x+(1−α)⋅y]≤α⋅f(x)+(1−α)⋅f(y)
则称函数
f
(
⋅
)
f(\cdot)
f(⋅)为凸集
C
\mathcal C
C上的凸函数。
凸函数的几何意义解释如下图所示:
很明显,橙色点相比于黄色点对应的函数值要小。当
x
,
y
x,y
x,y两点重合时,上式取等。
在
x
,
y
x,y
x,y这种取值的情况下,并不满足上述函数。因而该函数不是一个凸函数。
严格凸函数是在凸函数的基础上增加了相关要求。它的定义方式仅将凸函数的定义修改为:
从而对
x
,
y
∈
C
x,y \in \mathcal C
x,y∈C条件下增加了新的要求:点
x
,
y
x,y
x,y不能重合。
f
[
α
⋅
x
+
(
1
−
α
)
⋅
y
]
<
α
⋅
f
(
x
)
+
(
1
−
α
)
⋅
f
(
y
)
f[\alpha \cdot x + (1 - \alpha) \cdot y] < \alpha \cdot f(x) + (1 - \alpha) \cdot f(y)
f[α⋅x+(1−α)⋅y]<α⋅f(x)+(1−α)⋅f(y)
很明显,上面描述的第一个图像对应的函数是严格凸函数;相反:什么样的函数是凸函数,但不是严格凸函数
?
?
?例如线性函数
f
(
x
)
=
x
f(x) = x
f(x)=x,它的函数图像就是一条直线:

上述函数完全满足凸函数的定义;但不满足严格凸函数的定义。
如果从定义的角度表述,那么凹函数的定义方式仅将凸函数的定义修改为:
其他条件不变~
f
[
α
⋅
x
+
(
1
−
α
)
⋅
y
]
≥
α
⋅
f
(
x
)
+
(
1
−
α
)
⋅
f
(
y
)
f[\alpha \cdot x + (1 - \alpha) \cdot y] \geq \alpha \cdot f(x) + (1 - \alpha) \cdot f(y)
f[α⋅x+(1−α)⋅y]≥α⋅f(x)+(1−α)⋅f(y)
同上,凹函数的函数图像示例如下:

从凸函数的角度观察,可以得到推论:若
−
f
(
⋅
)
-f(\cdot)
−f(⋅)是凸函数,则
f
(
⋅
)
f(\cdot)
f(⋅)是凹函数。
延伸:如果是关于凹函数
f
(
x
)
f(x)
f(x)的优化问题,如
max
f
(
x
)
\max f(x)
maxf(x);可以将其转化为相应凸函数的优化问题:
min
−
f
(
x
)
\min -f(x)
min−f(x)。
常见凸函数有如下几种:
其中集合
S
n
\mathcal S^n
Sn描述所有
n
n
n阶对称矩阵组成的集合。其中当
m
=
0
m=0
m=0时,
f
(
x
)
=
∥
x
∥
0
f(x) = \|x\|_0
f(x)=∥x∥0即
x
x
x非零分量的个数。它是一个非凸函数~
如果 f ( x ) f(x) f(x)是凸函数,那么 f ( x ) f(x) f(x)自身在其定义域内一定是连续函数。
如果
f
(
x
)
f(x)
f(x)是凸函数
⇔
∀
x
,
y
∈
R
n
\Leftrightarrow \forall x,y \in \mathbb R^n
⇔∀x,y∈Rn,一元函数
ϕ
(
α
)
\phi(\alpha)
ϕ(α)表示如下:
ϕ
(
α
)
=
f
(
x
+
α
⋅
y
)
\phi(\alpha) = f(x + \alpha \cdot y)
ϕ(α)=f(x+α⋅y)
并且该函数是凸函数。
如果从几何意义的角度解释:由于向量 x , y x,y x,y已知,那么向量 x + α ⋅ y x + \alpha \cdot y x+α⋅y可看作是:从向量 x x x所在位置出发,沿着向量 y y y的方向,移动一段距离后的向量结果。只不过这个距离由 α \alpha α控制。对应图像表示如下:
如果
α
\alpha
α是负值,相当于沿着向量
y
y
y的反方向移动相应的距离。下图中的
y
y
y更多表示移动的方向;而
α
∈
R
\alpha \in \mathbb R
α∈R控制移动的距离。 
那么关于
ϕ
(
α
)
=
f
(
x
+
α
⋅
y
)
\phi(\alpha) = f(x + \alpha \cdot y)
ϕ(α)=f(x+α⋅y)它的函数图像示例如下:
其中黄色平面描述
x
+
α
⋅
y
x + \alpha \cdot y
x+α⋅y的函数图像,而
f
(
x
+
α
⋅
y
)
f(x + \alpha \cdot y)
f(x+α⋅y)则表示
x
+
α
⋅
y
x+\alpha \cdot y
x+α⋅y的函数图像与凸函数
f
(
⋅
)
f(\cdot)
f(⋅)对应函数图像切面产生的图像黄色虚线,可以看出,这个切面图像也是一个凸函数。

凸函数的一阶条件:
f
(
x
)
f(x)
f(x)是
C
\mathcal C
C上的凸函数充要条件是:
f
(
y
)
≥
f
(
x
)
+
[
∇
f
(
x
)
]
T
(
y
−
x
)
∀
x
,
y
∈
C
f(y) \geq f(x) + [\nabla f(x)]^T (y - x) \quad \forall x,y \in \mathcal C
f(y)≥f(x)+[∇f(x)]T(y−x)∀x,y∈C
该条件的几何图像描述表示如下:
假设将
x
x
x固定住,此时
∇
f
(
x
)
\nabla f(x)
∇f(x)是一个常量,它表示函数
f
(
⋅
)
f(\cdot)
f(⋅)在
x
x
x点处的斜率从而不等式右侧是关于
y
y
y的一次函数,并且经过点
[
x
,
f
(
x
)
]
[x,f(x)]
[x,f(x)]。可以发现:
f
(
y
)
f(y)
f(y)的图像总是在
ϕ
(
y
)
\phi(y)
ϕ(y)的上方(可以重合)。

相反,非凸函数并不具备这个性质。示例如下:
此时
f
(
y
)
<
ϕ
(
y
)
f(y) < \phi(y)
f(y)<ϕ(y)。

其证明过程见开头链接,这里不再赘述。
凸函数的二阶条件:假设
C
⊂
R
n
\mathcal C \sub \mathbb R^n
C⊂Rn是非空开凸集,并且函数
f
(
x
)
f(x)
f(x)在
C
\mathcal C
C上二阶连续可微,则有:
f
(
x
)
is Convex
⇔
∇
2
f
(
x
)
≽
0
,
∀
x
∈
C
f(x)\text{ is Convex } \Leftrightarrow \nabla^2 f(x) \succcurlyeq 0, \forall x \in \mathcal C
f(x) is Convex ⇔∇2f(x)≽0,∀x∈C
如果
x
x
x是一个标量,那么它关于函数
f
(
⋅
)
f(\cdot)
f(⋅)在
x
x
x点处的
Hessian Matrix
⇒
∇
2
f
(
x
)
\text{Hessian Matrix} \Rightarrow \nabla^2 f(x)
Hessian Matrix⇒∇2f(x)则退化成二阶导数
f
′
′
(
x
)
f''(x)
f′′(x)。这意味着:
f
′
′
(
x
)
≥
0
⇒
f
′
(
x
)
f''(x) \geq 0 \Rightarrow f'(x)
f′′(x)≥0⇒f′(x)的变化率随着
x
x
x的增加,处于一个增加/稳定的状态。
同上,这里的证明见开头链接,这里不再赘述。
在函数 f ( x ) f(x) f(x)是凸函数的基础上,对 f ( x ) f(x) f(x)执行一些运算/变换,运算结果其凸函数性质保持不变。
此时
G
(
⋅
)
\mathcal G(\cdot)
G(⋅)函数内的变量有
n
+
1
n+1
n+1个。即虚线描述的范围,如一个展开的光幕~凑合看吧。其中
[
0
,
1
]
[0,1]
[0,1]的部分这里没有表示~
求最大值实际上是求交集的一种情况。
工具
1
1
1 - 水平集。其定义对应数学符号描述表示如下:
L
a
=
{
x
∣
f
(
x
)
≤
a
,
x
∈
C
}
\mathcal L_a = \{x \mid f(x) \leq a,x \in \mathcal C\}
La={x∣f(x)≤a,x∈C}
任意函数都可以定义水平集,其中
a
a
a被称作水平值。以二元凸函数为例,给定水平集
a
a
a,相当于水平集所描述平面横截二元函数图像,并将处在水平集下方的函数图像进行投影。对应图像表示如下:

可以明显观察到:投影产生的集合明显是一个凸集。可以使用凸集定义进行证明:
相反呢
?
?
?如果任意取
a
a
a,函数
f
(
x
)
f(x)
f(x)对应的水平集均是凸集,那么
f
(
⋅
)
f(\cdot)
f(⋅)是否为凸函数
?
?
?不一定。如下图描述的函数:

工具
2
2
2 -
EpiGragh
\text{EpiGragh}
EpiGragh。关于函数
f
(
x
)
f(x)
f(x)的
EpiGragh
\text{EpiGragh}
EpiGragh定义表示如下:
Epi
(
f
)
=
{
(
x
y
)
∣
f
(
x
)
≤
y
,
x
∈
C
}
\text{Epi}(f) = \left\{(xy)
其中
y
y
y是一个变量,仅满足:
f
(
x
)
≤
y
f(x) \leq y
f(x)≤y即可。很明显,若
x
∈
R
n
x \in \mathbb R^n
x∈Rn,那么
(
x
y
)
(xy)
由于
y
y
y进满足
f
(
x
)
≤
y
f(x) \leq y
f(x)≤y即可,因此阴影部分可以无限向上延伸
(
y
⇒
∞
)
(y \Rightarrow \infty)
(y⇒∞),这里没有画出来。

其中阴影部分即
Epi(f)
\text{Epi(f)}
Epi(f)描述的集合。很明显,它比
x
x
x要高一维。
关于
EpiGraph
\text{EpiGraph}
EpiGraph的一个充要条件:
f
(
⋅
)
is Convex Function
⇔
Epi
(
f
)
is Convex Set
f(\cdot) \text{ is Convex Function} \Leftrightarrow \text{Epi}(f) \text{ is Convex Set}
f(⋅) is Convex Function⇔Epi(f) is Convex Set
Reference
\text{Reference}
Reference:
最优化理论与方法-第三讲-凸函数:定义与基本性质