最好的解釋:https://www.quora.com/What-is-an-intuitive-explanation-of-the-KKT-conditions#
鏈接:https://www.zhihu.com/question/38586401/answer/105273125
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
拉格朗日乘數法(Lagrange multiplier)有很直觀的幾何意義。
舉個2維的例子來說明:
假設有自變量x和y,給定約束條件g(x,y)=c,要求f(x,y)在約束g下的極值。
我們可以畫出f的等高線圖,如下圖。此時,約束g=c由於只有一個自由度,因此也是圖中的一條曲線(紅色曲線所示)。顯然地,當約束曲線g=c與某一條等高線f=d1相切時,函數f取得極值。
兩曲線相切等價於兩曲線在切點處擁有共線的法向量。因此可得函數f(x,y)與g(x,y)在切點處的梯度(gradient)成正比。
於是我們便可以列出方程組求解切點的坐標(x,y),進而得到函數f的極值。

(一直懷疑這個圖畫錯了,但是沒有證據,為什么g(x,y)的梯度和f(x,y)的方向不一樣呢?我感覺應該一樣啊,因為梯度方向是數值增大的方向,問題糾結的地方就是那里是大?貌似又沒有錯誤,因為僅僅從等高線上看,是分辨不出來山峰和盆地的等高線的,好亂,我已經糊塗了……)
KKT條件邊界意義
對於有不等式約束的拉格朗日對偶問題,KKT條件可以總結成:約束條件(原始約束和引入拉格朗日乘子后的約束)、對x偏導為0、對偶互補條件
進一步可以理解為:
①對於無約束的變量偏導為0
②對於有約束的變量,在約束邊界偏導可以不為0,不在約束邊界偏導必為0
其中,不在約束邊界的情況提供了函數值的伸縮性,使其取值為一個空間而不是一個點。
對偶互補條件就是對②的數學描述:
其中是原始約束。
對偶互補條件的在約束邊界的物理意義:
當不位於原始邊界時,它在各個方向是“自由”的,若此時他的偏導
不為0,那么它沿着原始問題中的負梯度方向移動時,可取的函數值變小,那么
就不可能是解。所以,當
不在約束邊界時,它必須在極值點上,即:
小於0時
必為0
當位於原始邊界,即
等於0時,它在邊界上的移動不會改變函數值,所以它的偏導取合適的值來進一步減小函數值,即它的偏導
可取大於0的值。
通過物理意義來理解KKT在邊界的行為,會顯得比較直觀。
由此,SVM中的硬間隔最大化可由物理意義來直觀的理解:
硬間隔最大化問題中,不等式約束為點的函數距離大於等於1。位於間隔邊界的點(支持向量),相當於位於約束邊界,他們的偏導可以不為0。而位於間隔邊界之后的點,它們不在約束邊界上,此時要想使間隔最大化,必須使的偏導為0,否則在負梯度方向上查找必能找到更優解。
對於SVM的軟間隔最大化,由於支持向量不光是間隔邊界上的點,還包括間隔平面之間的點,此時松弛變量的偏導同時也由懲罰參數
決定,松弛變量
的偏導的符號轉換為
與
的大小關系。通過分析,以下結論不難得到:
轉自:http://www.bubuko.com/infodetail-519632.html