SVM系列第七講--KKT條件

上一講我們介紹了最優(yōu)化問題的兩種形式,無約束的和等式約束條件下的,這一講,我們主要介紹不等式約束條件下的最優(yōu)化問題,并介紹一下我們的KKT條件。

1、不等式約束條件

設目標函數(shù)f(x),不等式約束為g(x),有的教程還會添加上等式約束條件h(x)。此時的約束優(yōu)化問題描述如下:


不等式約束問題

則我們定義不等式約束下的拉格朗日函數(shù)L,則L表達式為:


屏幕快照 2017-07-20 下午10.46.37.png

求解上面的問題,我們同樣可以使用等式約束條件的求解思路,對所有的參數(shù)進行求導,但是對于求解出的最優(yōu)解,必須滿足KKT條件(Karush-Kuhn-Tucker ):
1)L(a, b, x)對x求導為零;
2)h(x) =0;
3)a*g(x) = 0;

求取這些等式之后就能得到候選最優(yōu)值。其中第三個式子非常有趣,因為g(x)<=0,如果要滿足這個等式,必須a=0或者g(x)=0. 這是SVM的很多重要性質(zhì)的來源,如支持向量的概念。

2、KKT條件推導

2.1 對偶問題轉換

接下來我們介紹一下KKT條件的推導:首先讓我們針對針對 λ 和 ν 最大化,令:



這里 λ?0 理解為向量 λ 的每一個元素都非負即可。這個函數(shù) z(x) 對于滿足原始問題約束條件的那些 x 來說,其值等于 f0(x) ,這很容易驗證,因為滿足約束條件的 x 會使得 hi(x)=0 ,因此最后一項消掉了,而 fi(x)≤0 ,并且我們要求了 λ?0 ,因此 λifi(x)≤0 ,所以最大值只能在它們都取零的時候得到,這個時候就只剩下 f0(x) 了。因此,對于滿足約束條件的那些 x 來說,f0(x)=z(x) 。這樣一來,原始的帶約束的優(yōu)化問題其實等價于如下的無約束優(yōu)化問題:



到這里,我們成功把帶約束問題轉化為了無約束問題,不過這其實只是一個形式上的重寫,并沒有什么本質(zhì)上的改變。我們只是把原來的問題通過 拉格朗日寫作了如下形式:

我們把上面的形式稱為原始問題,之前了解過SVM的同學肯定知道,如果我們把min和max對換一下位置,就得到這個問題的對偶問題:


對偶問題

2.2 對偶問題的最優(yōu)解是原始問題最優(yōu)解的下界

交換之后的對偶問題與原始問題的解并不相等,直觀的可以這么理解,別墅中最便宜的房子的價格也要比普通樓房的最貴的價格高。當然這是很不嚴格的說法,我們需要嚴格的證明這一點,和剛才的z(x)類似,我們再定一個公式:


g 有一個很好的性質(zhì)就是它是 primal problem 的一個下界。換句話說,如果 primal problem 的最小值記為 p? ,那么對于所有的 λ?0 和 ν ,我們有:



證明過程如下圖:


證明

上面這個性質(zhì)叫做弱對偶性,對于所有的優(yōu)化問題都成立。既然有弱對偶性,那必然有強對偶性,前對偶性指的原始問題和對偶問題的最優(yōu)解嚴格相等,即:
強對偶性

在強對偶性成立的情況下,我們就可以通過對原始問題的對偶問題的求解來得到最優(yōu)解(SVM就是這么做的),但并不是所有情況下強對偶性都成立,它會有一定的前提。

2.3 Slater 條件

如果你不是專門研究規(guī)劃問題的同學,咱們還是直接看結論吧。首先我們介紹一下Slater 條件,Slater 條件是指存在嚴格滿足約束條件的點 x ,這里的“嚴格”是指 fi(x)≤0 中的“小于或等于號”要嚴格取到“小于號”,亦即,存在 x 滿足:


Slater 條件

我們有:如果原始問題是凸優(yōu)化問題(很慶幸,SVM的規(guī)劃問題是一個凸優(yōu)化問題)的并且滿足 Slater 條件的話,那么 strong duality 成立。需要注意的是,這里只是指出了 strong duality 成立的一種情況,而并不是唯一情況,不過研究SVM的話 ,知道這種情況足夠了。

2.4 KKT條件

讓我們回到 duality 的話題。來看看 strong duality 成立的時候的一些性質(zhì)。
假設 x? 和 (λ?,ν?) 分別是 primal problem 和 dual problem 的極值點,相應的極值為 p? 和 d? ,首先 p?=d? ,此時我們可以得到:


因為左右兩端其實是相等的,所以上面的小于等于號可以替換為等于號,我們一共替換了兩次,這兩次替換我們都能得到一個重要的性質(zhì):


再將其他一些顯而易見的條件寫到一起,就是傳說中的 KKT (Karush-Kuhn-Tucker) 條件:


KKT條件

任何滿足強對偶性(不一定要求是通過 Slater 條件得到,也不一定要求是凸優(yōu)化問題)的問題都滿足 KKT 條件,換句話說,這是 強對偶性 的一個必要條件。不過,當原始問題是凸優(yōu)化問題的時候(當然還要求一應函數(shù)是可微的,否則 KKT 條件的最后一個式子就沒有意義了),KKT 就可以升級為充要條件。換句話說,如果 原始問題是一個凸優(yōu)化問題,且存在 x? 和 (λ?,ν?) 滿足 KKT 條件,那么它們分別是 原始問題 和 對偶問題 的極值點并且強對偶性成立。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容