本节将介绍凸函数定义及其基本性质。
本文是关于梯度下降法:凸函数 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\{\begin{pmatrix}x \\ y\end{pmatrix} \mid f(x) \leq y,x \in \mathcal C \right\} Epi(f)={(xy)∣f(x)≤y,x∈C}
其中 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 ) \begin{pmatrix}x \\ y\end{pmatrix} (xy)是一个 n + 1 n+1 n+1维向量。而 Epi(f) \text{Epi(f)} Epi(f)就是由该向量组成的集合。如果 f ( x ) f(x) f(x)是一个一维函数,那么它对应的 EpiGragh \text{EpiGragh} EpiGragh示例如下:
由于
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:
最优化理论与方法-第三讲-凸函数:定义与基本性质