参照 《convex optimization》这本书,总结几个常见的凸函数和凹函数。
(定义域与参数都是实数)。
-
指数函数 eaxe^{ax}eax 为凸函数
**- 幂函数 xax^{a}xa 在 a≥1a\geq1a≥1 或 a≤0a\leq 0a≤0 时是凸函数,在 0<a<10<a<10<a<1 时是凹函数 -
绝对值的幂函数 ∣x∣p|x|^p∣x∣p 在 p≥1p\geq 1p≥1 时是凸函数
-
对数函数 logx\log xlogx 是凹函数
-
负熵函数 xlogxx\log xxlogx 是凸函数
-
范数函数都是凸函数
-
最大值函数都是凸函数f(x)=max{x1,x2,...,xn}f(x)=\max\{x_1, x_2, ..., x_n\}f(x)=max{x1,x2,...,xn}
证明利用里最大化函数的一个性质 (该性质可以利用绝对值证明):
maxi(f(xi)+g(xi))≤maxif(xi)+maxig(xi) \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)=x2/yf(x,y)=x^2/yf(x,y)=x2/y,它的函数图像为:
-
几何平均数函数为一个凹函数
f=∏i=1nxinf=\sqrt[n]{\prod_{i=1}^nx_i}f=ni=1∏nxi -
对数行列式函数为一个凹函数
f(X)=logdet(X)f(\bf X)=\log\det(X)f(X)=logdet(X)
其中, X\bf XX 是一个正定矩阵
上面两个函数的证明参看《convex optimization》的 74 页,利用到了舒尔分解
- 函数的最大值函数
f(x)=max{f1(x),f2(x)} f(x)=\max\{f_1(x), f_2(x)\} f(x)=max{f1(x),f2(x)}
若 f1(x)f_1(x)f1(x) 与 f2(x)f_2(x)f2(x) 都是凸函数,并且 fff 的定义域是 f1f_1f1 与 f2f_2f2 定义域的交集,则 fff 也是凸函数 - 对称矩阵的最大特征值函数
可以表示为最大值函数 - 矩阵范数
矩阵范数都可以表示为线性函数的最大值函数(不太容易理解表达式),因此是凸函数。