簡單的說,拉格朗日乘子法是一種尋找多元函數在一組等式約束下極值的方法,通過引入拉格朗日乘子,可以將有 d 個變量與 k 個約束條件的最優化問題轉化爲具有轉化爲具有 d+k 個變量的無約束優化問題求解。 而KKT條件和對偶問題則可以看作是拉格朗日乘子法的推廣。
一、約束優化問題分類
二、等式約束與拉格朗日乘子法
三、拉格朗日乘子法的推廣:KKT條件
四、拉格朗日原問題與對偶問題
一、約束優化問題分類
我們根據對優化目標的約束類型可以將該類問題劃分爲三類:
1.1 無約束優化
minf(x)
1.2 等式約束下的優化問題
{minf(x)s.t.gi(x)=0;i=1,...,m
1.3 不等式約束下的優化問題
⎧⎩⎨⎪⎪minf(x)s.t.gi(x)<=0;i=1,...,ms.t.hi(x)=0;i=1,...,p
對於第一類問題我們可以直接通過求導的方式求解極值;而第二類和第三類問題則可以分別使用拉格朗日乘子法與KKT條件進行求解
二、等式約束與拉格朗日乘子法
對於等式約束下的凸優化問題,我們可以將等式約束 gi(x) 用一個係數 λ 與目標函數 f(x) 寫成一個等式,稱爲拉格朗日函數,其係數 λ 稱爲拉格朗日乘子。通過拉格朗日函數對各個變量(包括拉格朗日乘子)進行求導,令其爲零,可以求得候選值集合,然後驗證求得最優值。
數學原理與解釋如下,對於優化問題
{minf(x)s.t.g(x)=0
我們可以分別畫出
f(x,y) 的等高線與
g(x,y) 這條曲線
我們的目標是在
g(x,y)=0 這條曲線上找到一個點使得
f(x,y) 的值儘可能的小。不難發現當
f(x,y) 的等高線與曲線
g(x,y)=0 相切的時候,目標函數
g(x,y) 可以取得最優值,此點兩個函數的法向量在同一直線上,必有
λ 使得
▿f(x,y)+λ▿g(x,y)=0
可以記爲
▿L(x,y,λ)=0
於是我們可以構造函數
L(x,y,λ)=f(x,y)+λg(x,y)
求解它的最優解就等價於求解原帶約束的優化問題,而這就是拉格朗日函數
三、拉格朗日乘子法的推廣:KKT條件
KKT條件是拉格朗日乘子法的進一步推廣,對於具有不等式約束或者等式約束的問題,都可以用它求解。如,對於優化問題
{minf(x)s.t.g(x)<=0
我們的目標是在下圖的陰影或邊界中找到一個點,使得目標函數值最小
最優點
X∗ 可能在
g(x)<0 的區域中,或在
g(x)=0 上。對於
g(x)<0 的情形,可以看出約束
g(x)<=0 不起作用,可直接通過求解條件
▿f(x)=0 來獲得最優點;這等價於將
λ 置零然後對
▿xL(x,λ) 置零求解最優點。
g(x)=0 的情形類似於上面等式約束的分析,但需注意的是,由於
s.t.g(x)<=0 的限制,此時最優點處的
▿f(x) 的方向必與最優點處的
▿g(x∗) 相反,即存在常數
λ>0 使得
f(x,y)+λg(x,y)=0 。
綜上所述,在約束
g(x)<=0 下,最小化
f(x) ,可轉化爲如下約束下最小化目標的拉格朗日函數
⎧⎩⎨⎪⎪g(x∗)<=0λ>=0λg(x∗)=0
上式稱爲KKT條件
四、拉格朗日原問題與對偶問題
4.1 原始問題
現給出原始優化問題如下
⎧⎩⎨⎪⎪minwf(w)gi<0;i=1,...,khi(w)=0;i=1,...,l
4.2 廣義拉格朗日函數
由原始問題,我們寫出一般化的拉格朗日公式
L(w,α,β)=f(w)+∑ki=1aigi(w)+∑li=1βihi(w)
現在設置如下函數(注意這個函數爲我們構造的函數):
Θp(w)=maxα,β:αi>0L(w,α,β)
即:
Θp=maxα,β:αi>0L(w,α,β)=maxα,β:αi>0(f(w)+∑ki=1aigi(w)+∑li=1βihi(w))
對於上述構造的函數,如果滿足原始問題的如下約束
{gi<0;i=1,...,khi(w)=0;i=1,...,l
根據KKT條件,有
Θp=f(x) ;如果上述條件不滿足,我們總可以調整
αi 和
βi 使得最大值出現正無窮。因此,可分情況爲
Θp(w)={f(w)(ifw−satisfied−primal−constraints)∞(otherwise)
4.3 廣義拉格朗日函數的極小極大值問題
對於上一小節我們構造的函數 Θp(w) , 我們發現當它滿足原始問題的限制時,它其實是與原始目標方程 f(x) 是等價的。因此,如果同樣的,我們對Θp(w) 求極小值,即
minΘp(w)=minmaxα,β:αi>0L(w,α,β)
則,上式的解與原始問題的解是等價的。該形式稱爲廣義拉格朗日函數的極小極大值問題,我們通過上面那麼多的推導,其實就是爲了
將原始問題轉化爲等價的廣義拉格朗日函數的極小極大值問題
4.4 原始問題的對偶問題
將原始問題寫成極小極大值形式以後,我們就可以很方便的寫出它的對偶形式,即交換式子中的求極值符號
maxα,βminL(w,α,β)
s.t:αi>0,i=1,..,k
我們稱上式爲原始問題的對偶問題
4.5 關於原始問題與對偶問題關係的探討
當願問題與對偶問題都取得最優值時,我們有如下結論:
maxα,βminL(w,α,β)<=minmaxα,β:αi>0L(w,α,β)
即
對偶問題給出了原始問題解的下確界。證明也非常簡單
對於任意的
α,β,w 我們有
minwL(w,α,β)<=L(w,α,β)<=maxα,β:αi>0L(w,α,β)
由於原始問題和對偶問題均有最優解,所以
minwL(w,α,β)<=maxα,β:αi>0L(w,α,β)
即
d∗=maxα,β:αi>0minwL(w,α,β)<=minwmaxα,β:αi>0L(w,α,β)=p∗
當
d∗<p∗ 時這種關係稱爲“弱對偶性“;若
d∗=p∗ 時,則稱爲“強對偶性“,此時對偶問題能夠獲得原始問題的最優下界。對於一般的優化問題,強對偶性通常不成立,但是,若原始問題爲凸優化問題且其可行域中至少有一點使得不等式約束嚴格成立,則此時強對偶性成立。這裏要說明的是,
不論原問題凸性如何,對偶問題始終爲凸優化問題。在強對偶性成立時,通過求解對偶問題可以解決主問題
KKT條件是原始問題與對偶問題有解的充分必要條件, 拉格朗日對偶問題完整的KKT條件如下
(1)
▿wL(w∗,α∗,β∗)=0
(2)
▿αL(w∗,α∗,β∗)=0
(3)
▿βL(w∗,α∗,β∗)=0
(4)
α∗igi(w∗)=0;i=1,2,...,k
(5)
gi(w∗)<=0;i=1,2,...,k
(6)
α∗i>=0;i=1,2,...,k
(7)
h(w∗)>=0;i=1,2,...,j
特別值得指出的是,式4稱爲
互補對偶條件,它意爲
α 與
g(w) 必有一爲0