常见的几个凸函数与凹函数
參照 《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 時是凸函數
-
對數函數 lg?x\lg xlgx 是凹函數
-
負熵函數 xlg?xx\lg xxlgx 是凸函數
-
范數函數都是凸函數
-
最大值函數都是凸函數f(x)=max?{x1,x2,...,xn}f(x)=\max\{x_1, x_2, ..., x_n\}f(x)=max{x1?,x2?,...,xn?}
證明利用里最大化函數的一個性質 (該性質可以利用絕對值證明):
max?i(f(xi)+g(xi))≤max?if(xi)+max?ig(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?))≤imax?f(xi?)+imax?g(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∏n?xi?? -
對數行列式函數為一個凹函數
f(X)=lg?det?(X)f(\bf X)=\lg\det(X)f(X)=lgdet(X)
其中, X\bf XX 是一個正定矩陣
上面兩個函數的證明參看《convex optimization》的 74 頁,利用到了舒爾分解
- 函數的最大值函數(又稱為 pointwise maximum 函數)
f(x)=max?{f1(x),…,fm(x)}f(x)=\max\{f_1(x), \dots, f_m(x)\} f(x)=max{f1?(x),…,fm?(x)}
若 f1(x)f_1(x)f1?(x), …\dots…, fm(x)f_m(x)fm?(x) 都是凸函數,并且 fff 的定義域是 f1f_1f1?, …\dots…, fmf_mfm? 定義域的交集,則 fff 也是凸函數 - 對稱矩陣的最大特征值函數
可以表示為最大值函數 - 矩陣范數
矩陣范數都可以表示為線性函數的最大值函數(不太容易理解表達式),因此是凸函數。
總結
以上是生活随笔為你收集整理的常见的几个凸函数与凹函数的全部內容,希望文章能夠幫你解決所遇到的問題。