問題描述
假設(shè)要解決的優(yōu)化問題為:
約束條件為
問題的簡單改寫
我們現(xiàn)在需要用一個函數(shù)來寫出上面問題的等價問題。也就是要把約束條件跟目標(biāo)函數(shù)寫進(jìn)一個函數(shù)中榛臼,把這個函數(shù)記作,那么
可以寫作:
這里的是個無窮階躍函數(shù),其表達(dá)式為:
如果 大于0, 由于階躍函數(shù)
取值為正無窮, 那么函數(shù)不可能在這時取到極小值. 如果
小于等于0, 那么
值為0,求
最小值就是求
的最小值.注意到此時的
小于等于0,因此完全和原問題等價.
至此已經(jīng)把求原問題最小值成功寫成求該函數(shù)最小值了.
改寫成連續(xù)可導(dǎo)形式
不難發(fā)現(xiàn), 這個函數(shù)不是連續(xù)可導(dǎo)的函數(shù), 因此不好進(jìn)行極值的求解 (連續(xù)可導(dǎo)函數(shù)可通過讓導(dǎo)數(shù)值為0來求極值).我們需要進(jìn)一步把函數(shù)轉(zhuǎn)化成一個連續(xù)函數(shù)的等價形式.
不連續(xù)的原因是函數(shù)造成的,如何去改寫
呢?
一個最簡單的方法把給松弛成
,
.假設(shè)
如下圖所示:
顯然,
現(xiàn)在可以把中的
替換為
,新的函數(shù)由于引入的新的參數(shù)
,因此不能用一個字母來表示,于是記作:
那么這個函數(shù)該如何跟之前的等價呢?
我們注意到如果時
取值為
,
時
取值為
, 那么
的效果將跟
完全相同. 要實(shí)現(xiàn)這一步,只需要把
寫成
即可.也就是把(6)式中的
看作變量,
看作常量求(6)式的最大值. 如果
那么
取值為
時
最大,如果
, 那么
的值
, 當(dāng)且僅當(dāng)
時取到
,才能使
最大.因此,
的等價函數(shù)為
. 原問題等價為
也就是
. 其中
表示把
看作變量求函數(shù)的最小值.
對偶問題
注意到求與求原問題等價, 都不好進(jìn)行求解. 但是,如果我們考慮調(diào)換求極值的順序, 也就是先把
看作變量求函數(shù)的最小值, 再把
看作變量求函數(shù)的最大值. 那么問題就變成:
這個問題跟原問題是不等價的,它被稱為原問題的對偶問題. 雖然不等價, 但是對偶問題的最優(yōu)值是原問題最優(yōu)值的一個下界,證明如下:
第一項(xiàng)是因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Clambda%20u%20%5Cleq%20I%5Bu%5D" alt="\lambda u \leq I[u]" mathimg="1">, 第二項(xiàng)就是把看作變量同時取極小值,
是原問題的最優(yōu)值. 第三項(xiàng)是因?yàn)橛傻诙?xiàng)可知
的所有值都小于等于
,因此,
的最大值, 也就是對偶問題的最優(yōu)值
是小于等于
的.所以對偶問題的最優(yōu)值是原問題最優(yōu)值的一個下界.
根據(jù)凸優(yōu)化的相關(guān)理論是一個凹函數(shù), 因此容易求解.具體證明可參考:https://github.com/ShiqinHuo/Numerical-Optimization-Books/blob/master/Convex%20Optimization%20Boyd.pdf.
當(dāng)問題具有強(qiáng)對偶性時, . 若
則問題具有弱對偶性.一般來說,幾乎所有的凸優(yōu)化問題都滿足強(qiáng)對偶性.比如SVM中, 它的損失函數(shù)就是凸函數(shù), 我們幾乎就能斷定它是一個強(qiáng)對偶的問題.
KKT條件
對于一個沒有約束的凸優(yōu)化問題, 只需要對函數(shù)的梯度求導(dǎo)并令其為0即可. 對于由約束的凸優(yōu)化問題而言, 它的最優(yōu)解一定滿足KKT條件. 第一個條件如下所示:
這個條件可以解釋為目標(biāo)函數(shù)和約束函數(shù)的梯度必須平行且相反, 如下圖所示:
假設(shè)目標(biāo)函數(shù)為
根據(jù)(8)式我們有:
最右邊的不等式成立的原因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Clambda_%7Bi%7D%20%5Cgeq%200%2Cf_%7Bi%7D(x%5E%7B%5Cstar%7D)%20%5Cleq%200" alt="\lambda_{i} \geq 0,f_{i}(x^{\star}) \leq 0" mathimg="1">.(10)式成立的條件只有取等號, 因此我們得到了第二個KKT條件:
綜上, 在不等式約束下凸優(yōu)化問題的所有KKT條件包括:
參考資料
[1] David Knowles,Lagrangian Duality for Dummies,November 13, 2010
[2] 瑞典皇家理工學(xué)院(KTH)“統(tǒng)計(jì)學(xué)習(xí)基礎(chǔ)”課程的KKT課件:http://www.csc.kth.se/utbildning/kth/kurser/DD3364/Lectures/KKT.pdf