凸函数
性质和例子
定义
函数 f : R n → R f: \mathbf{R}^n\to \mathbf{R} f:Rn→R是凸的,如果
- 定义域 d o m f \mathbf{dom}f domf是凸集;
- 对于任意 x , y ∈ d o m f x,y\in\mathbf{dom}f x,y∈domf, 0 ≤ θ ≤ 1 0\leq\theta\leq1 0≤θ≤1,有
f ( θ x + ( 1 − θ ) y ) ≤ θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x+(1-\theta)y)\leq \theta f(x)+(1-\theta)f(y) f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y).
函数 f f f是严格凸的,如果
- 定义域 d o m f \mathbf{dom}f domf是凸集;
- 对于任意 x , y ∈ d o m f x,y\in\mathbf{dom}f x,y∈domf, x ≠ y x\neq y x=y, 0 < θ < 1 0<\theta<1 0<θ<1,有
f ( θ x + ( 1 − θ ) y ) < θ f ( x ) + ( 1 − θ ) f ( y ) f(\theta x+(1-\theta)y)< \theta f(x)+(1-\theta)f(y) f(θx+(1−θ)y)<θf(x)+(1−θ)f(y).
一个重要的性质是函数 f f f是凸函数的充要条件是,对于任意 x ∈ d o m f x\in \mathbf{dom}f x∈domf和 v v v,有
g ( t ) = f ( x + t v ) , d o m g = { t ∣ x + t v ∈ d o m f } g(t)=f(x+tv),~\mathbf{dom}g=\{t|x+tv\in \mathbf{dom}f\} g(t)=f(x+tv), domg={
t∣x+tv∈domf}
是凸函数。
一阶条件
可微函数 f f f是凸函数的充要条件是 d o m f \mathbf{dom}f domf是凸集,对于任意 x x x, y ∈ d o m f y\in \mathbf{dom}f y∈domf,有
f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y − x ) . f(y) \geq f(x) + \nabla f(x)^T (y-x). f(y)≥f(x)+∇f(x)T(y−x).
二阶条件
二阶可微函数 f f f是凸函数的充要条件是 d o m f \mathbf{dom}f domf是凸集,对于任意 x ∈ d o m f x\in \mathbf{dom}f x∈domf,有
∇ 2 f ( x ) ≥ 0. \nabla^2 f(x) \geq 0. ∇2f(x)≥0.
判断一个函数的凸性有多种方式,可以直接验证定义中的不等式是否成立,亦可以验证其Hessian矩阵是否正半定,或者可以将函数转换到与其定义域相交的任意直线上,通过得到的单变量函数判断原函数的凸性。
例子
R \mathbf{R} R上的函数
凸函数:
- 仿射函数: a x + b ax+b ax+b,对于任意 a a a, b b b
- 指数函数: e a x e^{ax} eax,对于任意 a a a
- 幂函数: x a x^a xa( x > 0 x>0 x>0),对于 a ≤ 0 a\leq0 a≤0或 a ≥ 1 a\geq1 a≥1
- 绝对值幂函数: ∣ x ∣ p |x|^p ∣x∣p,对于 p ≥ 1 p\geq1 p≥1
- 负熵: x log x x\log x xlogx( x > 0 x>0 x>0)
凹函数:
- 仿射函数: a x + b ax+b ax+b,对于任意 a a a, b b b
- 幂函数: x a x^a xa( x > 0 x>0 x>0),对于 0 ≤ a ≤ 1 0\leq a\leq1 0≤a≤1
- 对数函数: log x \log x logx( x > 0 x>0 x>0)
R n \mathbf{R}^n Rn上的函数
凸函数:
- 仿射函数: a T x + b a^Tx+b a