【凸最佳化筆記6】-拉格朗日對偶(Lagrange duality)、KKT條件
目錄
1.問題背景
2.原始問題極其轉化
3.拉格朗日對偶問題
4.Slater 條件
5.KKT 條件
6.例子
1。 問題背景
在一個最佳化問題中,原始問題通常會帶有很多約束條件,這樣直接求解原始問題往往是很困難的,於是考慮將原始問題轉化為它的對偶問題,透過求解它的對偶問題來得到原始問題的解。
對偶性(Duality)
是凸最佳化問題的核心內容。
2。 原始問題極其轉化
2.1 原始問題(Primal problem)
將一個原始最最佳化問題寫成如下形式:
這裡可以參考【凸最佳化筆記3】-第1節-凸最佳化問題中對凸最佳化問題的定義。
需要注意的是
的形式,若是大於等於
,則需要修改符號轉成這種形式,以避免不必要的麻煩。
事實上,在求解原問題的對偶問題時,並不要求原始問題一定是凸問題,
和
可以是一般函式而不一定非得是凸函式。
2.2 拉格朗日函式(Lagrangian function)
將原始問題的拉格朗日函式定義為:
其中
。
可以看到,拉格朗日函式
相對於原始問題引入了兩個新變數(向量)
,稱為拉格朗日乘子。
拉格朗日函式
如果看成是關於
的函式,那它其實就是對原始問題中目標函式與約束條件進行線性加權,目標函式的權係數是
,約束條件的權係數是
或
;
如果
看成是關於
或
的函式,則其餘部分可看成常數,
就可看作是一個關於
或
的仿射函式(即最高次冪為1的多項式函式)。
2.3 拉格朗日對偶函式( Lagrange dual function)
拉格朗日對偶函式(簡稱對偶函式)透過對拉格朗日函式關於
取下確界得到,即:
符號表示取下確界。求解析式可先將
看成是關於
的函式,而將拉格朗日乘子看作常數,求出
的極小值點,再將該點代入
,得到的關於
和
的表示式就是對偶函式。
對偶函式具有如下兩條重要性質:
i。 對偶函式一定是凹函式,其凹性與原目標函式和約束函式凹凸與否無關。
證明:
可以看作是一個無限的函式集,這個函式集中每個元素是
,
取遍其在定義域上的所有值得到不同的
。針對不同的
,
的表示式不一樣,由於這個表示式是隻關於
和
的,故用
來表示。所以有:
由本章 2。2 節已提到過,當
看成是關於
或
的函式時,
是一個仿射函式,亦即,
是仿射函式,對仿射函式集取下確界,得到的函式是凹函式,如圖 2-3 所示:
圖 2-3
黑線加粗部分就是
,是凹函式。
ii。 對
(泛指向量中的每個分量),如果原問題最優解對應的目標函式值為
,則
。
證明:
設原問題的最優解為
,結合
, 很容易有:
假設這個最優解
在
處取得,結合性質 i 中的證明部分,有 :
很顯然,由圖 2-3 可以看到
的影象總在
下方,即以下不等式總成立:
3。 拉格朗日對偶問題(Lagrange dual problem)
根據對偶函式的重要性質 ii ,對
,對偶函式
是原問題最優值
的一個下界,最好的下界就是最大化對偶函式,因此構造原問題的對偶問題:
由於對偶函式是凹函式,故拉格朗日對偶問題一定是凸最佳化問題,其對應的最優解為
(最優拉格朗日乘子),若對應的最優值為
,則總有
。
當
時,稱為
弱對偶(weak duality)
。
當
時,稱為
強對偶(strong duality)
。
將
稱為
對偶間隙(duality gap)。
在解存在的情況下,弱對偶總是成立的。
滿足強對偶時,可以透過求解對偶問題來得到原始問題的解。
4。 Slater 條件(Slater‘s condition)
Slater 條件用於判斷什麼情況下強對偶是成立的。
在
原問題是凸問題
的情況下,若
,使得約束條件滿足:
則強對偶成立。
表示原始凸問題定義域的相對內部,即在定義域上除了邊界點以外的所有點。只要能找到一個這樣的點使原凸問題等式約束依然成立且不等式約束都嚴格小於
即可。
幸運的是,對大多數一般的原凸問題,強對偶都是成立的。
若滿足 Slater 條件,則強對偶一定成立,不滿足 Slater 條件,強對偶也可能成立,它是一個充分不必要條件。
5。 KKT 條件(KKT conditions)
在對偶間隙為
(強對偶),且
對
可微的前提下,設
分別是原問題和對偶問題的最優解,則以下四組條件稱為 KKT 條件:
i。 穩定性條件(stationarity)
若
是原問題的最優解(極值點),則
在
處的微分等於
。
ii。 互補鬆弛條件(complementary slackness)
這個條件表明,當
時,
;當
時,
。
下面給出這個條件的證明。
先給出如下推導過程:
說明:第 (1) 步由對偶間隙為
這個前提可以得到;第 (2) 步是對偶函式的定義;第 (3) 步,需結合本章 2。3 節對偶函式兩條重要性質的證明部分以及圖 2-3 ,假設
在
處取得,對偶函式
總是在
的下方,故小於等於號成立;第 (4) 步由原問題和對偶問題約束條件易得。
結論:觀察 (1) 和 (4) ,上述式子中的小於等於號就只能取等號,故 (3) 中
又因為其中的每一項都有
,故
。
iii。 原問題的可行性(primal feasibility)
原問題的最優解必然滿足原問題的約束條件。
iv。 對偶問題的可行性(dual feasibility)
對偶問題的最優解必然滿足對偶問題的約束條件。
對
一般的原問題
,KKT 條件是
為最優解的必要條件,即只要
為最優解,則一定滿足 KKT 條件。
對
原問題為凸問題
, KKT 條件是
為最優解的充要條件。
6。 例子
求lasso問題的對偶問題和 KKT 條件。
i。 lasso問題
ii。 將其寫成標準凸最佳化問題的形式
iii。 構造 Lagrangian
iv。 寫出對偶函式
說明:
第 (1) 步中最小化原問題的兩個最佳化變數,等同於第 (2) 步分別最佳化這兩個變數;第 (2) 步左邊對
求導數並使之等於
,得到
,再帶回到原函式中最後可得 (5) 左半部分;第 (2) 步右邊先將
提出,再將目標函式取反,
改為
,最後再對運算結果取反,得到的最終結果不變,即由 (2) 右半部份可得 (5) 右半部分;第 (5) 步右邊
是
的共軛函式,可參考【凸最佳化筆記3-第3節-共軛函式】,由於範數的共軛函式是示性函式,可參考【凸最佳化筆記3-第4節-對偶範數】,從而易得第 (6) 步。
v。 得到對偶問題
示性函式取值為
或
。
可以進一步簡化:
lasso 原問題是凸問題,不包含不等式約束,它滿足 Slater 條件,強對偶成立。
vi。 KKT 條件
(1) 穩定性條件。 Lagrangian 對原問題的最佳化變數
是可微分的,若給定對偶問題的最優解
,則穩定性條件為:
(2) 沒有互補鬆弛條件。
(3) 原問題的的可行性:
(4) 對偶問題的可行性:
整理得到其 KKT 條件為:
即,若得到對偶問題的最優解
,則它與原問題最優解
應滿足:
參考文獻
CMU凸最佳化課件-Duality in General Programs
CMU凸最佳化課件-KKT conditions
CMU凸最佳化課件-Duality uses and correspondences