帶約束的最優化問題

支持向量機SVM的訓練過程中需要求解帶約束的最優化問題。

帶約束的最優化問題通常表述如下:

objective:minw f(w)s.t. {gi(w)0,i=1,2,3...n;不等式約束hj(w)=0,j=1,2,3...m;等式約束

gi(w) ,hj(w)f(w) 一般都是連續可導的。要求在滿足gi(w)0,hj(w)=0 的前提下求能使得目標函數f(w) 最小化的w

學習支持向量機SVM時,拉格朗日對偶、Slater條件、KKT條件等一大堆概念席捲而來,讓沒系統學習過凸優化的筆者一頭霧水,估計不少人都是這樣吧。
不幸的是筆者在數學相關問題上經常一不小心就陷入死磕,遇到沒想明白的問題就總惦記着。另外筆者還是個懶於動手的人,但好在數學是一門完全不需要動手的學科,你只要靠想就可以,最多需要在紙上畫畫,完全不用做什麼實驗或者手工體力活兒,嗯,很適合筆者這種懶人,這也是筆者爲什麼從一個電氣工程學生慢慢偏離航向發展成一個程序猿的原因。
回到我們要說的SVM中的優化問題。爲什麼要引入一堆係數把約束條件與目標函數組合到一起?爲什麼滿足了KKT條件就是符合條件的解? 爲什麼可以轉化爲對偶問題?什麼是Slater條件?在講SVM的資料中通常不會詳細展開這些問題,只是告知讀者有這麼回事。帶着一排排問號,翻閱文獻、Wiki、博客,加上自己的一些思考,算是把不少問題整理清楚了。筆者希望能把這些問題用容易理解的方式講述明白,通過這一系列博文,將相關問題由易到難一一做出解釋,希望這個系列的文章能幫更多人解惑。

本系列文章包括:
1. 純等式約束時的optimalize問題
2. 純不等式約束時的optimalize問題
3.混合約束時的optimalize問題——KKT條件與拉格朗日對偶問題
4.強對偶性的證明與Slater條件

1. 純等式約束時的optimalize問題

這一類問題的範式如下:

objective:minw f(w)s.t:hj(w)=0,j=1,2,3...m;

在滿足hj(w)=0 的條件下使f(w) 最小化。hj(w)f(w) 都應是連續可導的。上面純代數的形式會讓人不容易看到此類問題的本質,我們希望對這類問題有一個直觀的幾何理解。首先我們來看一下每個等式約束的含義。

等式約束的幾何意義

對於 hj(w)=0 ,如果w 是一個3維變量,那所有滿足hj(w)=0w 點集通常會組成一個 2 維的曲面。特別當hj(w)w 的線性函數時,比如 :

hj(w)=a1wx+a2wy+a3wz+b

其中wxwywz 分別是w 在三個維度上的分量,a1a2a3b 是某些常數。這時 hj(w)=0 就是三維空間中的一個平面。對於通常的非線性函數而言, hj(w)=0 一般對應一個曲面。


如果w 是更高維的變量,維數設爲dw ,那hj(w)=0 一般對應一個(dw1) 維的子空間,或者說(dw1) 維的曲面。注意,當我們下面再提到”面”這個概念時,它不一定代表狹義的二維面,而可以是對任意維度的一個子空間的稱謂
借用下物理中的概念:如果將hj(w) 看做空間中某個向量場的勢函數,這個向量場就是hj(w) 的梯度場hj(w) ,而hj(w)=0 所對應的子空間就是該梯度場的0等勢面。在等勢面上任一點的梯度都與該點鄰域內的等勢面垂直,即若w 是等勢面上一點,則hj(w) 垂直於該等勢面。(通常等勢面是個曲面,當我們說垂直的時候,只是針對該面上某個點的切面)
進一步的,chj(w) 構成了一個1維的子空間Gj ,這個子空間與(dw1) 維的0等勢面(在w 處的切面)垂直,因此它們互爲補空間(相互垂直且維度之和是dw )。這意味着,在w 處所有與0等勢面垂直的向量都在Gj 子空間中,即都可表示成一個常數與hj(w) 相乘。
繼續往下讀之前先確保理解了上面幾段的內容。提示:在本文中遇到高維相關結論,可以先在大腦裏以我們熟悉的三維空間舉例理解。
只有一個等式約束時目標函數與約束函數的梯度關係
再回到我們的問題,這裏我們有m個等式約束,每個約束都對應一個0等勢面,m個約束同時作用,相當於把可行域限制在了這m個0等勢面的交集上。這個交集是什麼樣子?它也是一個子空間,只不過維數可能更低。比如三維空間中兩個不平行的面(2維)的交集,是一條1維的線。我們先稱呼前面提到的這個交集爲”公共0勢面”。
假設公共0勢面的維度是d0 ,通常d0=dwm 。而各hj(w) 在公共0勢面上某點w 處的梯度向量hj(w) 都與公共0勢面垂直,且共有m個這樣的向量,因此這些梯度向量組合成的m維子空間G 與公共0勢面互補。意味着:w 處所有與公共0勢面垂直的向量都在G 子空間中,即都可表示成:

V=mj=1cjhj(w)

當然,d0 也有大於dwm 的時候,但這並不影響上面的結論。假如m個等勢面中有某(t+1) 個等勢面是相切的,這時公共等勢面變成了dw(mt) 維,比正常時候多了t個維度;但另一方面,梯度空間G也會因此而減少t個維度,因爲有(t+1) 個梯度是平行的,它們只能提供1個維度。此時,上面的結論保持不變

公共0勢面上的極值條件

我們已經知道,滿足所有等式約束的點,都在前面提到的公共0勢面上。那我們的目標函數f(w) 的極值點怎麼找呢?
通常,在沒有約束的時候,我們要找f(w) 的極值點,只要找f(w) 梯度爲0的點,即f(w) 是0。而我們把可行域限制在公共0勢面上之後呢?對,我們只要要求梯度向量f(w) 在公共0勢面上的分量爲0即可,換句話說,梯度向量與公共0勢面垂直。
爲了表達具體一點我們不得不把倒黴的w 再抓回來當我們的小白鼠。我們繼續把它在公共0勢面上,看一下它怎樣才能變成極值點。
我們要求f(w)w 處的梯度向量f(w) 與該處的公共0勢面垂直,意味着f(w) 必然在前面提到的梯度子空間G上,即它可以由各個等式約束函數在w 處的梯度線性組合而成,即存在一系列係數βj ,滿足下式:
f(w)+mj=1βjhj(w)=0


這就是判定w 是否是可行域內極值點的方法。

結論

當我們求解純等式約束下的最優化問題時,我們只需求解如下方程組即可求得候選解,然後從中挑選最優解:
wβ{f(w)+mj=1βjhj(w)=0hj(w)=0for j=1,2...m


或者我們可以構造一個能把約束條件與目標函數融合到一起的新函數:
L(w,β)=f(w)+mj=1βjhj(w)

不錯,狡猾的筆者偷偷把拉格朗日乘子式的雛形列了出來,就在讀者察覺到怎麼讀了這麼久還沒看到拉格朗日大人的蹤影是不是走錯片場了的時候。
這時,上面的方程組其實就是
wβ{Lwk=0for k=1,2,3...dw(w)Lβj=0for j=1,2...m

多說兩句,這個方程組中共有 (dw+m) 個未知量和方程。
其中Lwk=0 是同時包含w,β 的方程,這樣的方程共有dw 個;
Lβj=hj(w)=0 是隻包含w 的方程,這樣的方程共有m個。爲使w 有解,m應小於w 的維數dw ,否則對w 的約束方程數將大於w 的變量個數導致約束太強、各約束方程無法同時被滿足而無解;

因此當d>m 時,上面的方程組通常是有解的。特別是當目標函數f(w)w 的二次函數、hj(w) 都是w的一次函數即仿射函數時,上面的方程組就變了一個線性方程組,可以用線性代數方法直接求解

簡單解釋一下:
f(w)w 的二次函數、hj(w)w 的一次函數時,他們對wk 的偏導分別是w 的一次和零次(常數)函數,所以他們的組合函數 L(w,β)wk 的偏導Lwk 就是w,β 的一次函數,Lwk=0 就是一個線性方程;

Lβj=0 等價於hj(w)=0hi(w)w 的一次函數,因此所有的hj(w)=0 也都是線性方程;

於是整個方程組就變成了線性方程組

一句話概括

求解等式約束下的最優化問題,只需要解個方程組就可以找到候選極值點,然後在方程組的各個解中篩選出滿足條件的最小值點即可(該方程組有可能是多解的)。

如果目標函數是二次函數,且約束都是線性的,那我們只需要求解一個線性方程組。

2. 純不等式約束時的optimalize問題

這一類問題的範式如下:
objective:minw f(w)s.t:gi(w)0,i=1,2,3...n;

gi(w)f(w) 都應是連續可導的。爲了方便理解,我們先看只有一個不等式約束時的情形

只有一個不等式約束的情況

objective:minw f(w)s.t:g1(w)0


對於某個給定的 w ,如果它在可行域的內部,即g1(w)<0 時,只需判斷 f(w)w 處的梯度f(w) 是否爲0即可判斷其是否是可行域上的候選極值點。
而如果 w 在可行域的邊界,即g1(w)=0 時,情況就稍微複雜。首先,我們要保證至少在邊界面上,w 是一個極值點(條件一);其次,還要保證在可行域內部,w 的鄰域內的其他點的函數值都比f(w) 大(條件二)。
爲滿足條件一,f(w) 在邊界面上的梯度分量應爲0,即f(w) 與邊界面垂直。而邊界面其實是g1(w) 的零等勢面,因此g1(w) 也垂直於邊界面。這樣f(w) 就應與g1(w) 平行,即f(w)+α1g1(w)=0

但這還不夠,我們還要考慮不在邊界上的內點。設(w+Δw) 是鄰域內任一點,則當Δw 滿足如下條件時:(注意Δw 與梯度一樣都是向量,而非標量) g1(w)Δw0

(w+Δw) 就是可行域上的點,因爲這時滿足 g1(w+Δw)=g1(w)+g1(w)Δw0
爲使f(w) 能在w 處取可行域上的極小值,對於可行域內的所有Δw 須滿足f(w)Δw0 ,即
α1g1(w)Δw0

g1(w)Δw0 ,因此此時α10

從幾何角度來說,上面的兩個條件對應的意義是:f(w) 應與邊界面垂直並指向包含可行域的一側(邊界面的一側包含可行域,另一側不包含可行域)。函數值沿着梯度方向是增長的,當f(w)w 處的梯度指向可行域一側時,可行域內部的函數值都比w 處大,w 才能是極小點
這裏寫圖片描述

現在可以做個小結了:若w 是可行域上的極值點,則應滿足:
{f(w)+α1g1(w)=0α10wg1(w)=0f(w)=0wg1(w)<0


或者換一種更統一的形式
f(w)+α1g1(w)=0α10g1(w)<0

我們甚至可以把原問題中的約束條件也包進來,構造一個完整的方程組:
wα1{f(w)+α1g1(w)=0α1g1(w)=0α10, g1(w)0

巧妙的是,第二行的(α1g1(w)=0) 和第三行的(α10, g1(w)0) 聯合起來,正好暗示了一個規則:當g1(w)<0 時,α1=0 ;只有當g1(w)=0 時,α1 纔可能大於0

同時存在多個不等式約束的情況

objective:minw f(w)s.t:gi(w)0,i=1,2,3...n;


多個不等式約束同時存在時,思路與前面大致相同。
如果w 不在邊界上,只需判斷 f(w) 是否爲0;
如果w 只在其中某一個約束比如gi(w)0 的邊界上,處理方法與前面一樣;
唯一需要多加考慮的,是當w 同時在多個約束的公共邊界上的情況,即w 在多個不同約束的邊界面的交集上,比如,g1(w)=g2(w)=g3(w)=g4(w)=0 。下面以此爲例來說明。
首先,爲使w 在公共邊界上滿足極值條件,f(w) 應與公共邊界垂直。
而公共邊界同時屬於g1(w)g2(w)g3(w)g4(w) 的0等勢面,因此 g1(w)g2(w)g3(w)g3(w) 分別都與公共邊界垂直,且這四個向量張成的四維空間正好構成公共邊界的補空間,所有與公共邊界垂直的向量,都在這個補空間中,可以被這四個向量的線性組合表示。
因此 f(w)+4i=1αigi(w)=0

同樣,我們還要關心可行域上、公共邊界以外的其他點。
(w+Δw) 是鄰域內任一點,當Δw 同時滿足如下條件時:
gi(w)Δw0i=1,2,3,4

(w+Δw) 就是可行域上的點。
爲使f(w) 能在w 處取可行域上的極小值,對於可行域內的所有 Δw 須滿足 f(w)Δw0 ,即
4i=1αigi(w)Δw0

同樣的幾何意義:f(w) 應與公共邊界面垂直並指向靠近可行域的方向。
這裏說的“靠近可行域的方向”,是指與可行域夾角小於等於90°的方向。準確的說,對於所有能使(w+Δw) 位於可行域上的微小位移向量 Δw ,與f(w) 夾角都應小於等於90°,用內積表示就是f(w)Δw0

結合gi(w)Δw0 ,爲保證對所有滿足的條件的Δw 上式都能成立,必須要求每個αi 都大於等於0。

否則,假如α1 小於0,對於滿足以下條件Δwg1(w)Δw<0, g2(w)Δw=0,g3(w)Δw=0, g4(w)Δw=0

上面的式子就不成立了

總結起來就是,當w 在上述公共邊界並是可行極值點時,應滿足:
f(w)+ni=1α1g1(w)=0i=1,2,3,4αi0αi=0


OK,有了這個特例的輔助,我們很容易將結論一般化如下:
f(w)+ni=1α1g1(w)=0αi0gi(w)<0wi

我們繼續運用前面說到的巧妙辦法,把原問題中的約束條件也包進來,構造一個完整的方程組:
wα{f(w)+ni=1αigi(w)=0αigi(w)=0for i=1,2...nαi0, gi(w)0for i=1,2...n

現在到再請出拉格朗日大人的時候了。我們構造一個能把約束和目標函數融合在一起的新函數,如下(拉格朗日乘子式):
L(w,α)=f(w)+ni=1αigi(w)

這時上面的方程組變成了
wα{Lwk=0for k=1,2,3...dw(w)αiLαi=0for i=1,2...nαi0,Lαi0for i=1,2...n

這裏共有dw+n 個等式方程和dw+n 個變量,可以先求解前兩行構成的等式方程組,再排除掉其中不符合第三行條件的解,剩下的即是符合條件候選極值點。
然而,第二行的方程與純等式約束時的情況不太一樣,純等式約束下只要求約束式的偏導爲0,而這裏是要求偏導與係數(也是待求的未知數)乘積爲0,這增加了解方程的難度。即便當目標函數是二次的、不等式約束都是線性的時候,方程組整體也變成了二次方程組,很難直接求解。不過,這時不等式約束的數量n是可以大於d_w的,因爲第二行的方程不在只包含w ,同時也包含了α ,不會出現w 的約束太強而無解。

3. 混合約束時的optimalize問題——KKT條件與拉格朗日對偶問題

這一類問題的範式如下:
objective:minw f(w)s.t. {gi(w)0,i=1,2,3...n;不等式約束hj(w)=0,j=1,2,3...m;等式約束


gi(w) ,hj(w)f(w) 都應是連續可導的。

拉格朗日乘子式與KKT條件

有了前面純等式和純不等式約束問題的鋪墊,我們可以輕鬆得出混合約束時的結論。
首先,還是先考慮最簡單的情況,假如w 不在任何不等式的邊界,即gi(w)<0 對所有 i=1,2...n 成立。——被玩壞的w 肯定在抱怨:爲什麼又是我躺槍,隔壁w 閒了兩天了!但顯然無情的筆者纔不打算關心這個聲音。
w 須仍在所有等式約束hj(w) 的公共0勢面上。這時相當於只有等式約束,w 是極值的條件是:
f(w)+mj=1βjhj(w)=0

我們再把w 扔到不等式的邊界上看看會發生什麼。有了之前純不等式約束的基礎,我們直接考慮w 同時在多個不等式約束邊界時的情況,假如w 在第1、2、3、4個不等式約束的公共邊界面上,即:
{gi(w)=0for i=1,2,3,4gi(w)<0for i=otherhj(w)=0for j=1,2...m


可見,這個公共邊界面,屬於 g1(w)g2(w)g3(w)g4(w)h1(w)h2(w)...hm(w) 的公共混合0勢面的一部分。如果想讓f(w)w 處是可行域上的一個極值,首先要保證w 在這個公共混合0勢面上是極值,即f(w)w 處的梯度應垂直於該混合0勢面,可以表示成:
f(w)+mj=1βjhj(w)+4i=1αigi(w)=0

但這還不夠,爲了保證可行域上w 所有鄰域點(w+Δw) 的目標函數值都比w 處大,α1...α4 還應都是大於等於0的,具體分析過程與講解純不等式約束問題時類似,不再重複。

再強調下幾何意義:f(w) 應與公共混合0勢面垂直並指向靠近可行域的方向。

將上面兩種情況用統一的形式重寫如下,w 是可行域上極值點的條件是:
f(w)+mj=1βjhj(w)+ni=1α1g1(w)=0αi0gi(w)<0wi

因此,我們可以通過解以下方程組(前3行等式構成方程組)
wαβ{f(w)+mj=1βjhj(w)+ni=1αigi(w)=0hj(w)=0for j=1,2...mαigi(w)=0for i=1,2...nαi0,gi(w)0for i=1,2...n


然後排除掉不滿足第4行的解,就可以得到可行域上的候選極值點。

然後,拉格朗日時間到。是時候引出完整版的拉格朗日乘子式了,我們構造一個融合目標函數和所有約束的新函數:
L(w,α,β)=f(w)+ni=1αigi(w)+mj=1βjhj(w)


然後前面的方程組就變成了
wαβ{Lwk=0for k=1,2,3...dw(w)Lβj=0for j=1,2...mαiLαi=0for i=1,2...nαi0,Lαi0for i=1,2...n

是的,我們就這樣得到了廣爲流傳的KKT條件。對於某組給定的(w,α,β) ,如果能同時滿足上面的條件,w 就是原問題的候選解,但候選解不一定是最優解。KKT條件只是最優解的必要條件。

拉格朗日對偶問題

前面KKT條件中的方程組通常是很難直接求解的。而有些時候,將原問題轉換成另一種形式,可能更會容易求解。下面就介紹一種常見的轉換形式,對偶問題。

我們先來看一個與原問題等價的問題。設

θ(w)=maxα0,βL(w,α,β)注意條件,所有的αi0

注意所有的 αi 都是大於等於0的。
容易得出

θ(w)={f(w)所有等式和不等式約束均被滿足+,有任意一個約束未被滿足

如果不等式約束中有任意一個約束未被滿足,比如若某個 w 使得 gi(w)>0 時, 那我們將對應的 αi+ ,則 αigi(w) 必然也是 + ,導致 θ(w) 變爲 +
同理如果原問題的等式約束中有任意一個約束未被滿足,比如若某個w 使得 hj(w)0 時, 那我們將對應的βjβj={hj(w)<0+,hj(w)>0


βjhj(w) 必然是+ ,,導致θ(w) 變爲+
只有當w 滿足所有的等式約束和不等式約束時,θ(w) 纔不會變爲無窮大。而且由於此時等式約束被滿足,導致所有的βjhj(w) 項被直接消去,因爲他們都等於0;另一方面由於所有的αi0,gi(w)0 ,因此 αigi(w) 取最大時必然也是0,即所有的αigi(w) 項也被消去,只剩下了f(w) 。於是就有上面的結果
θ(w)={f(w)constraint satisfied+,constraint not satisfied

這樣一來,求原問題中的 minwf(w) 就等價於求 minwθ(w)
原問題等價於:

objective:minwmaxα,βL(w,α,β)s.t.αi0,for i=1,2,3...n

如果調換上面 min 和 max 的順序,就得到該問題的對偶問題。
對偶問題 :

objective:maxα,βminwL(w,α,β)s.t.αi0,for i=1,2,3...n

引入一個新函數: θD(α,β)=minwL(w,α,β) ,這時對偶問題變成:

objective:maxα,βθD(α,β)s.t.αi0,for i=1,2,3...n

根據θD 的定義可知,對於任意的(w,β,α0) ,有θD(α,β)L(w,α,β)
根據θ 的定義可知,對於任意的(w,β,α0) ,有θ(w)L(w,α,β)
如果設p=θ(w)=minwθ(w),d=θD(α,β)=maxα0,βθD(α,β)


d=θD(α,β)L(w,α,β)θ(w)=p

dp ,這個特性被稱爲”弱對偶性”,(pd) 被稱爲”對偶間隙”,對偶間隙是大於等於0的。通過求解對偶問題,可以求出原問題的一個下限,在實際中這對尋求原問題最優解有一定的幫助。
如果對偶間隙爲0即d=p ,則稱之爲”強對偶性”,此時對偶問題於原問題等價,只需求解對偶問題即可,(w,α,β) 同時是原問題和對偶問題的解。
那什麼情況下強對偶性才能被滿足呢?我們介紹一個能在凸優化問題中保證強對偶性的充分條件,下一節再證明這個結論。

定義: 凸優化問題
當且僅當目標函數f(w) 和所有的不等式約束函數gi(w) 都是凸函數,所有的等式約束hj(w) 都是線性(仿射)函數時,相應的最優化問題屬於凸優化問題
Slater條件
對於凸優化問題,如果可行域滿足Slater條件,強對偶性保證成立。
Slater條件是指,可行域存在一點 w 同時滿足:{gi(w)<0for i=1,2...n (<)hj(w)=0for j=1,2...m


如果不等式約束中存在線性約束,比如前t 個不等式約束都是線性約束時,Slater條件可以弱化爲:{gi(w)0for i=1,2...tgi(w)<0for i=t+1,t+2...nhj(w)=0for j=1,2...m

KKT條件的充分性

之前的分析中,KKT條件只能作爲最優解的必要條件,但滿足KKT條件的解不一定是最優解。而對於凸優化問題,KKT條件同時也是最優解的充分條件。

如果(w,α,β) 是滿足KKT條件的一組解,即
{Lwk=0for k=1,2,3...dw(w)Lβj=0for j=1,2...mαiLαi=0for i=1,2...nαi0,Lαi0for i=1,2...n


由於α0 ,以及凸優化問題中各不等式約束函數和目標函數都是凸函數的特點,易知L(w,α,β)w 的凸函數,而KKT條件的第一行說明w 是使得L(w,α,β)w 導數爲0的點,因此
L(w,α,β)=minwL(w,α,β)=θD(α,β)

同時,KKT條件的第二行h(w)=0 和第三行αg(w)=0 使得
L(w,α,β)=f(w)=θ(w)

因此有θD(α,β)=θ(w)
而同時 θD(α,β)dpθ(w) ,這其實暗示了 d=p ,即強對偶性成立,且 (w,α,β) 正好是原問題和對偶問題的最優解。
因此,對於凸優化問題,滿足KKT條件的解一定是最優解,且滿足KKT條件暗示了強對偶性成立。

4. 強對偶性的證明與Slater條件

強對偶性的一種比較直觀的證明是用幾何方法。

先介紹一條關於凸集的定理。這個定理表達的意思很直觀。比如在二維空間中,二維平面上的任意一個凸圖形(比如一個圓),在其邊緣上任一點處做切線,該圖形必在切線的同一側,而不會被切割成多個部分並分居兩側。該定理的完整表述如下:

引理: 支撐超平面定理
設集合 CRn 空間中的閉凸集, ˉxC 邊界上一點,則必存在一個過點 ˉx 的超平面,使得 C 位於它的一個閉半空間。即存在法向量 a ,使得對於 C 中任意點 x ,有:
axaˉx0


進一步地,如果已知 xinC 的一個內點,則:
axinaˉx>0

這裏寫圖片描述
如果想了解該定理的證明看這裏:
http://www.cnblogs.com/murongxixi/p/3615034.html
這是在網上找到的一篇博文,裏面步驟比較詳盡。爲防止原鏈接失效,相關的重要證明步驟會以圖片形式插入到本文末尾的附錄中。

回到我們的問題。我們要研究的是凸優化問題中強對偶性成立的條件,首先做一個基本假設:

基本假設:假設原問題是凸優化問題,即f(w),gi(w) 都是凸函數,hj(w) 都是線性函數,且所有的hj(w) 相互之間都是線性獨立的。

wRdw ,我們按如下方式將Rdw 空間中一點w 映射爲R(n+m+1) 空間中的點E
E(w)=(u1,u2,...un,v1,v2,...vm,t){ui=gi(w)i=1,2,3...nvj=hj(w)j=1,2,3...mt=f(w)


簡化表示爲E=(u,v,t)

設所有點E 組成的集合爲Go
Go={(u,v,t):u=g(w),v=h(w),t=f(w),wRdw}
然而,即便有了前面的基本假設,我們也不能保證Go 是凸集。但是如果把它簡單擴展一下,設:
Ge={(u,v,t):ug(w),v=h(w),tf(w),wRdw}

容易證明Ge 是一個凸集,且GoGe

A(ua,va,ta)B(ub,vb,tb)Ge 內的兩個點,按照Ge 的定義可知必然存在wawb ,使得
va=h(wa),uag(wa),taf(wa)vb=h(wb),ubg(wb),tbf(wb)


0c1,wc=cwa+(1c)wb,C=cA+(1c)B=(uc,vc,tc) ,則
uc=cua+(1c)ubvc=cva+(1c)vbtc=cta+(1c)tb

由於h(w)w 的線性函數,因此
ch(wa)+(1c)h(wb)=h[cwa+(1c)wb]=h(wc)

vc=h(wc)
由於g(w),f(w) 都是w 的凸函數,因此
cg(wa)+(1c)g(wb)g[cwa+(1c)wb]=g(wc)cf(wa)+(1c)f(wb)f[cwa+(1c)wb]=f(wc)

而同時uag(wa),taf(wa),ubg(wb),tbf(wb) ,於是
cua+(1c)ubcg(wa)+(1c)g(wb)cta+(1c)tbcf(wa)+(1c)f(wb)

ucg(wc),tcf(wc) 。再結合vc=h(wc) ,可知(uc,vc,tc)Ge ,即C=cA+(1c)BGe 。由於前述 A,B,c 的選取具有任意性,因此對於任意兩點A,BGe ,連線¯AB 上的所有點都屬於GeGe 是凸集。

除此之外,我們還知道E=(0,0,p) 必是Ge 的一個邊界點,其中p=minwθ(w)θ(w) 的定義同上一節。

w 是目標函數f(w) 在可行域內的極小點,則p=f(w) ,且由於在可行域內,必然滿足g(w)0h(w)=0 ,因此(0,0,p)Ge ;
又由於p 是可行域上即區間 {g(w)0,h(w)=0} 上的最小值(邊界值),對於任意小的正數δ(0,0,pδ)Ge ,因此(0,0,p) 在邊界上。
E=(0,0,p)Ge 的一個邊界點。

利用上面關於邊界點的支撐超平面定理,我們知道必存在一個法向量a=(αa,βa,γa) ,使得對於Ge 內任一點Ee=(ue,ve,te) ,滿足:
aEeaE0αaue+βave+γateγap


由於ue,te 可以隨意取正無窮大,p 是個定值,爲使上面的大於等於恆成立,αaγa 必須大於等於0。否則,如果他們任意一個取負,當ue,te 取正無窮大時,左邊會變成負無窮而導致上式無法被滿足。

h(w)w 的線性函數,因此ve=h(w) 也可以取到正無窮,甚至負無窮也可以。但ve 不能單獨、隨意 地增大,因爲ve 完全由w 確定,而uete 只是被w 確定了下限,它們可以單獨增大,且仍保證在集合Ge 內。

γa>0 的情況

假如γa0 ,此時令α=αa/γa,β=βa/γa ,則式(1-a)可重寫如下:
αue+βve+tep


由於αa0α0
由於GoGe ,因此Go 中任意一點E(u,v,t)=(g(w),h(w),f(w)) 也都滿足上式。
即必然存在一組α,β ,對任意的wRdw ,始終滿足:
αg(w)+βh(w)+f(w)pα0

我們上面都使用了簡化後的表示方式,如果將上式完整展開,就是:存在一組α,β 使得下式對所有的wRdw 成立。
ni=1αigi(w)+mj=1βjhj(w)+f(w)=L(w,α,β)pαi0,for i=1,2,3...n

由於上式對任意的w 都成立,因此
θD(α,β)=minwL(w,α,β)p


進一步由於d=maxα0,βθD(α,β)θD(α,β)

於是得到dp 。而由弱對偶性,dp 。因此d=p ,強對偶性成立。

γa=0 的情況,Slater條件的作用

這不是我們期望出現的情況,因爲一旦γa=0 ,我們就無法將式(1-a)的左邊轉換成跟L(w,α,β) 相同的形式了。實際上,只要上節中提到的Slater條件被滿足(通常這個條件都是滿足的),就不會出現γa=0 的情況。下面我們分析爲什麼不會出現。

假如γa=0 ,此時式(1-a)變成
αaue+βave+γate0

Slater條件保證了在可行域內,存在 w 使得g(w)<0,h(w)=0 ,設
E1=(g(w),h(w),f(w))GeE2=(g(w)+Δg,h(w),f(w)+Δf)int GeΔgΔf0E2Ge

則有
αag(w)+βah(w)+γaf(w)0


αa[g(w)+Δg]+βah(w)+γa[f(w)+Δf]>0

式(4-c)中可以用大於號是因爲E2Ge ,上面介紹引理時專門提到對於內點可以用大於號。
考慮到h(w)=0,γa=0 ,由式(4-b)可得αag(w)0
再由g(w)<0,α0 ,可得αa=0
而將αa=0h(w)=0,γa=0 代入式(4-c),會得到式(4-c)左邊等於0的結論,這與式(4-c)中的大於號矛盾。
因此,當Slater條件被滿足時,不會出現γa=0 的情況

Slater條件的表述似乎加強了對可行域的要求。實際上,只要要求對於每一個不等式約束 gi(w) ,在可行域內分別存在一個 wi 能使得gi(wi)<0 即可,這就足以支持我們推出上面的矛盾(將上面的簡化表達式完整展開並推導出每個αi=0 即可推出矛盾)。而不須要求存在某個 w 使其同時滿足所有的不等式約束。然而如果所有的gi(w) 都是連續可導的話,這兩種表述似乎也是等價的,不過這個結論的推理過程可能有些繁雜。

之前還提到了弱化的Slater條件(Weak Slater Condition),弱化的Slater條件放寬了對線性不等式約束的要求。
實際上,當原Slater條件未被滿足,但弱化的Slater條件能被滿足時,說明存在某個線性不等式約束 gi(w) ,在可行域內找不到任何點能使得gi(w)<0 成立,即在整個可行域內gi(w)=0 。這意味着所有等式約束hj(w)=0 ,它們與gi(w)0 的交集和與gi(w)=0 的交集一樣。考慮到hj(w)gi(w) 都是w 的線性函數,這隻會發生在gi(w) 正好是所有所有等式約束hj(w) 的線性組合時,即
gi(w)=mj=1cjhj(w)


而這時,可以認爲g_i(w)完全不起約束作用,直接爲其分配係數αi=0 ,然後按正常方式爲其他不等式約束分配係數即可。因此只要滿足弱化的Slater條件,就可以保證強對偶性。

結論

綜上,只要f(w),gi(w) 都是凸函數,hj(w) 都是線性函數,且可行域滿足弱化的Slater條件時,強對偶性可以被保證。

附錄:支撐超平面定理的證明(截圖)

以下截圖來自博文:
http://www.cnblogs.com/murongxixi/p/3615034.html

這裏寫圖片描述
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章