(转)凸函数
基本介紹
凸函數是一個定義在某個向量空間的凸子集C(區間)上的實值函數f,而且對于凸子集C中任意兩個向量
x1,x2,f((x1+x2)/2)≤(f(x1)+f(x2))2x1,x2,f((x1+x2)/2)≤ \frac{(f(x1)+f(x2))}{2} x1,x2,f((x1+x2)/2)≤2(f(x1)+f(x2))?
于是容易得出對于任意(0,1)中有理數p,f(px1+(1-p)x2)≤pf(x1)+(1-p)f(x2)。如果f連續,那么p可以改成任意(0,1)中實數。
若這里凸集C即某個區間I,那么就是:設f為定義在區間I上的函數,若對I上的任意兩點X1,X2和任意的實數λ∈(0,1),總有
f(λx1+(1-λ)x2)≤λf(x1)+(1-λ)f(x2),
則f稱為I上的凸函數。
判定方法可利用定義法、已知結論法以及函數的二階導數
對于實數集上的凸函數,一般的判別方法是求它的二階導數,如果其二階導數在區間上非負,就稱為凸函數。(向下凸)
如果其二階導數在區間上恒大于0,就稱為嚴格凸函數。
函數性質
性質
定義在某個開區間C內的凸函數f在C內連續,且在除可數個點之外的所有點可微。如果C是閉區間,那么f有可能在C的端點不連續。
一元可微函數在某個區間上是凸的,當且僅當它的導數在該區間上單調不減。
一元連續可微函數在區間上是凸的,當且僅當函數位于所有它的切線的上方:對于區間內的所有x和y,都有f(y) ≥ f(x) + f '(x) (y ? x)。特別地,如果f '? = 0,那么c是f(x)的最小值。
一元二階可微的函數在區間上是凸的,當且僅當它的二階導數是非負的;這可以用來判斷某個函數是不是凸函數。如果它的二階導數是正數,那么函數就是嚴格凸的,但反過來不成立。例如,f(x) = x4的二階導數是f "(x) = 12 x2,當x = 0時為零,但x4是嚴格凸的。
更一般地,多元二次可微的連續函數在凸集上是凸的,當且僅當它的黑塞矩陣在凸集的內部是正定的。
凸函數的任何極小值也是最小值。嚴格凸函數最多有一個最小值。
對于凸函數f,水平子集{x | f(x) < a}和{x | f(x) ≤ a}(a ∈ R)是凸集。然而,水平子集是凸集的函數不一定是凸函數;這樣的函數稱為擬凸函數。
延森不等式對于每一個凸函數f都成立。如果X是一個隨機變量,在f的定義域內取值,那么(在這里,E表示數學期望。)
折疊定義及相互關系
定義1 設f(x)在區間I上有定義,f(x)在區間I稱為是凸函數當且僅當:?x1,?x2∈I,有f[λx1+(1-λ)x2]≤λf(x1)+(1-λ)f(x2)上式中“≤”改成“<”則是嚴格凸函數的定義.
定義2 設f(x)在區間I上有定義,f(x)在區間I稱為是凸函數當且僅當:?x1,?x2∈I, 有f[(x1+x2)/2]≤f(x1)/2+f(x2)/2
定義3 設f(x)在區間I上有定義,f(x)在區間I稱為是凸函數當且僅當?x1、x2…xn∈I:有f[(x1+x2+…xn)/n]≤[f(x1)+f(x2)+…f(xn)]/n
定義4 f(x)在區間I上有定義,當且僅當曲線y=f(x)的切線恒保持在曲線以下,則成f(x)為凸函數.若除切點之外,切線嚴格保持在曲線下方,則稱曲線f(x)為嚴格凸的
引理1 定義2與定義3等價
引理2 若連續,則定義1,2,3等價
相關示例
函數f(x) = x²;處處有,因此f是一個(嚴格的)凸函數。
絕對值函數f(x) = | x | 是凸函數,雖然它在點x = 0沒有導數。
當1 ≤ p時,函數f(x) = | x | p是凸函數。
定義域為[0,1]的函數f,定義為f(0)=f(1)=1,當0函數x3的二階導數為6x,因此它在x ≥ 0的集合上是凸函數,在x ≤ 0的集合上是凹函數。
每一個在內取值的線性變換都是凸函數,但不是嚴格凸函數,因為如果f是線性函數,那么f(a + b) = f(a) + f(b)。如果我們把“凸”換為“凹”,那么該命題也成立。
每一個在內取值的仿射變換,也就是說,每一個形如f(x) = aTx + b的函數,既是凸函數又是凹函數。
每一個范數都是凸函數,這是由于三角不等式。
如果f是凸函數,那么當t > 0時,g(x,t) = tf(x / t)是凸函數。
單調遞增但非凸的函數包括和g(x) = log(x)。
非單調遞增的凸函數包括h(x) = x2和k(x) = ? x。
函數f(x) = 1/x2,f(0)=+∞,在區間(0,+∞)內是凸函數,在區間(-∞,0)內也是凸函數,但是在區間(-∞,+∞)內不是凸函數,這是由于x = 0處的奇點。
注:某些教材的凸函數定義與此定義相反,即凸函數與凹函數相反
總結
- 上一篇: Matlab:精度控制
- 下一篇: (译)奇异值谱分析