凸優(yōu)化(四)凸函數(shù)分析

1. 概述

\quad之前簡單介紹了凸函數(shù)的定義,相信大家對凸函數(shù)有了簡單的認(rèn)識(shí),但是這是遠(yuǎn)遠(yuǎn)不夠的,這次通過一些詳細(xì)的函數(shù)講解來介紹一下部分常見凸函數(shù)的特點(diǎn)。

2. 凸函數(shù)的四個(gè)定義:

(1)第一個(gè)定義:如果X為在實(shí)數(shù)向量空間的凸集。并且有映射f:X\rightarrow R,如果f被稱為,則有\forall x_1,x_2\in X,\forall t\in[0,1]: f(tx_1+(1-t)x_2)\leq tf(x_1)+(1-t)f(x_2).如果F被稱為嚴(yán)格凸,那么有:\forall x_1\ne x_2\in X,\forall t\in(0,1): f(tx_1+(1-t)x_2)\ngeq tf(x_1)+(1-t)f(x_2).

(2)第二個(gè)定義:有映射f:R^n\rightarrow R為凸\leftrightarrow dom f為凸$,$\forall x,y\in dom f,\forall v為任意方向,g(t)=f(x+tv)為凸dom g=\{t|x+tv\in dom f\}

(3)第三個(gè)定義:若f可微,對\forall x,y\in dom f,f(y)\geq f(x)+\nabla^Tf(y-x)

(4)第四個(gè)定義二階條件,若f:R^n\rightarrow R二階可微,則f為凸$\leftrightarrow dom f為凸,\nabla^2f(x)\geq0,\forall x\in dom f(這里的大于等于號(hào)是表示特征值大于等0,表示矩陣半正定) 。

這四個(gè)定義在不同地方均有用處,但在判斷函數(shù)是否為凸函數(shù)時(shí)最常用的是第四個(gè)。其中\nabla^2f(x)Hessian矩陣,表示函數(shù)的二階偏導(dǎo)矩陣。

3. 常見凸函數(shù):

(1)仿射函數(shù):f(x)=Ax+b,顯然,其二階導(dǎo)函數(shù)為\nabla^2f(x)=0,所以仿射函數(shù)為凸函數(shù)。

(2)指數(shù)函數(shù):f(x)=e^{ax},x\in R,顯然f^{'}(x)=ae^{ax},f^{''}(x)=a^2e^{ax}\geq0,所以指數(shù)函數(shù)是凸函數(shù)。

(3)冪函數(shù):f(x)=x^a,x\in R_{++},接著求導(dǎo)啊求導(dǎo)~,f^{'}(x)=ax^{a-1},f^{''}(x)\begin{cases} \geq 0,a\geq1 或a\leq0 (凸函數(shù))\\ \leq 0,0\leq a\leq1 (凹函數(shù))\end{cases},顯然啦,當(dāng)a=1、0時(shí),冪函數(shù)就成為了仿射函數(shù),所以即凸又凹。

(4)負(fù)熵函數(shù):f(x)=xln{x},x\in R_{++},還是求導(dǎo),f^{'}(x)=lnx+1,f^{''}(x)=\frac{1}{x}\nleq0,嗯,還是個(gè)嚴(yán)格凸函數(shù)。(也是個(gè)非常重要的函數(shù)?。。?/p>

(5)極大值函數(shù)(重中之重):現(xiàn)在來一個(gè)比較復(fù)雜卻非常常見的函數(shù):f(x) = max\{x_1,x_2,...,x_n\}這個(gè)函數(shù)顯然是不可導(dǎo)的,那么首先根據(jù)定義一來看一下是否為凸函數(shù)。取兩值x,y\in dom f,構(gòu)造凸組合的新值\theta x+(1-\theta)y,f(\theta x+(1-\theta)y)=max\{\theta x_i+(1-\theta)y_i\}\leq \theta max\{x_i,i=0,1..n\}+(1-\theta)max\{y_i,i=0,1..n\}=\theta f(x)+(1-\theta)f(y),發(fā)現(xiàn)滿足凸函數(shù)定義,所以極大值函數(shù)時(shí)凸函數(shù)。但是啊,由于其無法求導(dǎo),后續(xù)處理會(huì)出現(xiàn)各種問題。所以,這里有一個(gè)解析逼近,就是用一個(gè)解析函數(shù)去逼近極大值函數(shù)。這個(gè)函數(shù)是這樣的log-sum-exp:f(x)=log(e^{x_1}+...+e^{x_n}),x\in R^n,且有性質(zhì)max\{x_i\}\leq f(x)\leq max\{x_i\}+ln(n) \quad 那么來證明一下這個(gè)函數(shù)也是凸函數(shù)吧!這里就要用到凸函數(shù)的第四個(gè)定義了,輪到Hessian矩陣出場了。對上述函數(shù)求二次偏導(dǎo)得到如下關(guān)系(公式打得累死):
\frac{\partial^2f}{\partial{x_i}\partial{y_i}}=\frac{-e^{x_i}e^{x_j}}{(e^{x_1}+...e^{x_n})^2},i\neq j, \frac{\partial^2f}{\partial{x_i}\partial{y_i}}=\frac{-e^{x_i}e^{x_i}+e^{x_i}(e^{x_1}+...e^{x_n})}{(e^{x_1}+...e^{x_n})^2},i=j\tag{1}
這個(gè)式子看上去也很丑,那么定義列向量z=[e^{x_1},...,e^{x_n}]^T,那么(1)式就變成了\frac{\partial^2f}{\partial{x_i}\partial{y_i}}=\frac{-e^{x_i}e^{x_j}}{(1^Tz)^2},i\neq j, \frac{\partial^2f}{\partial{x_i}\partial{y_i}}=\frac{-e^{x_i}e^{x_i}+e^{x_i}(1^Tz)} {(1^Tz)^2},i=j,函數(shù)的Hessian矩陣可以寫成H(x)=\frac{1}{(1^Tz)^2}((1^Tz)diag(z)-zz^T),另后項(xiàng)矩陣為K,diag(z),為向量z展開的對角矩陣那么大家還記得半正定矩陣如何證明么?就是\forall x\in R^n,x^TAx\geq0成立,那么A則為半正定矩陣。好,那么開始構(gòu)造?。?img class="math-block" src="https://math.jianshu.com/math?formula=V%5ETKV%3D(1%5ETz)V%5ETdiag(z)v-V%5ETzz%5ETV%3D(%5Csum_iz_i)%5Csum_i(V_i%5E2z_i)-(%5Csum_iv_iz_i)%5E2%5Ctag%7B2%7D" alt="V^TKV=(1^Tz)V^Tdiag(z)v-V^Tzz^TV=(\sum_iz_i)\sum_i(V_i^2z_i)-(\sum_iv_iz_i)^2\tag{2}" mathimg="1">另a_i=v_i\sqrt{z_i},b_i=\sqrt{z_i},那么(2)式就變成了:(b^Tb)(a^Ta)-(a^Tb)^2\geq0\tag{3}此式成立,用到的性質(zhì)為柯西-施瓦茨不等式,所以log-sum-exp函數(shù)為凸函數(shù)。

(6)行列式的對數(shù):f(X)=\log det(X),dom f=S^n_{++},首先說明一下啊,當(dāng)矩陣X只有一維時(shí),那么原函數(shù)則為\log x,顯然是凹函數(shù)。所以我們是在已經(jīng)知道其為凹函數(shù)的前提下證明它是凹函數(shù)的了~根據(jù)凸函數(shù)的第二個(gè)定義當(dāng)\forall z\in S^n_{++},\forall t\in R^{n \times n},z+tv\in S^n_{++}=dom f,構(gòu)造凸組合的函數(shù)g(t)=f(z+tv)=\log det(z+tv)=\log det(z^{\frac{1}{2}}(I+tv^{-\frac{1}{2}}vz^{-\frac{1}{2}})z^{\frac{1}{2}})\tag{4}繼續(xù)化簡得到為:\log det\{z\}+\log det\{I+tz^{-\frac{1}{2}}vz^{-\frac{1}{2}}\}=\log det\{z\}+\sum^n_i\log(1+t\lambda_i),其中\(zhòng)lambda_i\geq0\tag{5}接著只要分析這個(gè)式子就可以,求導(dǎo)即可,得到:g^{'}(t)=\sum_i\frac{\lambda_i}{1+t\lambda_i},g^{''}(t)=\sum_i\frac{-\lambda_i^2}{(1+t\lambda_i)^2}\leq0\tag{6}到這里證明就結(jié)束了,原函數(shù)為凹函數(shù)得證。

4. 總結(jié):

\quad可見啊,分析函數(shù)凸性一般都是通過其Hessian矩陣來分析,但是對于部分凸函數(shù)的證明也不是簡單的,總體的計(jì)算過程也在越來越復(fù)雜,后面會(huì)逐步講解凸問題的理論與求解。但是在證明的過程中會(huì)發(fā)現(xiàn),其理論也是一步一步建立起來的,弄懂了原理之后看問題就會(huì)舉一反三了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容