参照 《convex optimization》这本书,总结几个常见的凸函数和凹函数。
(定义域与参数都是实数)。
- 指数函数 e a x e^{ax} eax 为凸函数
- 正数幂函数 x a x^{a} xa ( x > 0 x>0 x>0) 在 a ≥ 1 a\geq1 a≥1 或 a ≤ 0 a\leq 0 a≤0 时是凸函数,在 0 < a < 1 0<a<1 0<a<1 时是凹函数
因此,函数 1 x \frac{1}{x} x1, 1 x \frac{1}{\sqrt{x}} x1, 1 x 2 \frac{1}{x^2} x21 都是凸函数
-
绝对值的幂函数 ∣ x ∣ p |x|^p ∣x∣p 在 p ≥ 1 p\geq 1 p≥1 时是凸函数
下图是 y = ∣ x ∣ 3 y=|x|^3 y=∣x∣3 的函数图像:
-
对数函数 lg x \lg x lgx 是凹函数
-
负熵函数 x lg x x\lg x xlgx 是凸函数
- 范数函数都是凸函数
- 最大值函数都是凸函数
f
(
x
)
=
max
{
x
1
,
x
2
,
.
.
.
,
x
n
}
f(x)=\max\{x_1, x_2, ..., x_n\}
f(x)=max{x1,x2,...,xn}
证明利用里最大化函数的一个性质 (该性质可以利用绝对值证明):
max i ( f ( x i ) + g ( x i ) ) ≤ max i f ( x i ) + max i g ( x i ) \max_i (f(x_i)+g(x_i))\leq \max_i f(x_i)+\max_i g(x_i) imax(f(xi)+g(xi))≤imaxf(xi)+imaxg(xi) - 二次函数除以一个大于零的线性函数(线性分式函数),是一个凸函数。例如 f ( x , y ) = x 2 / y f(x,y)=x^2/y f(x,y)=x2/y ,(y>0),它的函数图像为:
显然在
y
>
0
y>0
y>0 时为凸函数,
y
<
0
y<0
y<0 时为凹函数
- 对数加和指数函数为一个凸函数
f ( x ) = log ( e x 1 + ⋯ + e x n ) f(x)=\log(e^{x_1}+\dots+e^{x_n}) f(x)=log(ex1+⋯+exn)
当
n
=
2
n=2
n=2 时,它的图像为:
- 几何平均数函数为一个凹函数
f = ∏ i = 1 n x i n f=\sqrt[n]{\prod_{i=1}^nx_i} f=ni=1∏nxi
三维时的图像:
- 对数行列式函数为一个凹函数
f ( X ) = lg det ( X ) f(\bf X)=\lg\det(X) f(X)=lgdet(X)
其中, X \bf X X 是一个正定矩阵
上面两个函数的证明参看《convex optimization》的 74 页。
- 函数的最大值函数(又称为 pointwise maximum 函数)
f ( x ) = max { f 1 ( x ) , … , f m ( x ) } f(x)=\max\{f_1(x), \dots, f_m(x)\} f(x)=max{f1(x),…,fm(x)}
若 f 1 ( x ) f_1(x) f1(x), … \dots …, f m ( x ) f_m(x) fm(x) 都是凸函数,并且 f f f 的定义域是 f 1 f_1 f1, … \dots …, f m f_m fm 定义域的交集,则 f f f 也是凸函数 - 对称矩阵的最大特征值函数
可以表示为最大值函数 - 矩阵范数
矩阵范数都可以表示为线性函数的最大值函数(不太容易理解表达式),因此是凸函数。