引言
前序學習進程中,對拉格朗日函數執行了初步求導,并獲得了簡化后的拉格朗日函數極值計算式:
L(w,b,α)=∑i=1mαi?12∑i,j=1mαiαjyiyjxiTxjL(w,b,\alpha)=\sum_{i=1}^{m}\alpha_{i}-\frac{1}{2}\sum_{i,j=1}^{m}\alpha_{i}\alpha_{j}y_{i}y_{j}x_{i}^Tx_{j}L(w,b,α)=i=1∑m?αi??21?i,j=1∑m?αi?αj?yi?yj?xiT?xj?
這個計算式遵循的約束是:
∑i=1mαiyi=0\sum_{i=1}^{m}\alpha_{i}y_{i}=0i=1∑m?αi?yi?=0
上述結果其實還有一個專用名稱:烏爾夫對偶。
不過我們就不對這個名稱進行細說,因為還有大事要辦:理解KKT條件。
KKT條件
對于尋找最佳分割超平面的拉格朗日函數: L(w,b,α)=12∥w∥2?∑i=1mαi[yi(w?xi+b?1)]L(w,b,\alpha)=\frac{1}{2}{\left\|w\right\|}^2-\sum_{i=1}^{m}\alpha_{i}[y_{i}(w\cdot x_{i}+b-1)]L(w,b,α)=21?∥w∥2?i=1∑m?αi?[yi?(w?xi?+b?1)]
首先我們證明它是個凸優化問題:
凸優化問題滿足兩個條件,第一個是目標函數為凸函數,第二個是約束條件是凸集。
凸函數,最經典的形式為拋物線函數y=x2y=x^2y=x2,滿足函數圖像上任取兩個點后連線,這兩個點之間的所有函數取值都在這條線下方;
凸集,函數的取值范圍內,取任意兩個點連線后,這條線上的所有點依然在函數的取值范圍內。
然后,回到拉格朗日函數,第一部分12∥w∥2\frac{1}{2}{\left\|w\right\|}^221?∥w∥2是典型的拋物線函數,是凸函數;
第二部分yi(w?xi+b?1)=w?(yixi)+byi?yiy_{i}(w\cdot x_{i}+b-1)=w\cdot(y_{i}x_{i})+by_{i}-y{i}yi?(w?xi?+b?1)=w?(yi?xi?)+byi??yi,因為變量是www和bbb,所以實際看下來這是一條關于www和bbb的線性函數(二維的時候理解為就是一根直線),線性函數既是凸函數也是非凸函數,而這一部分屬于約束條件,所以約束條件是凸集。綜合上述分析可知尋找最佳分割超平面的拉格朗日函數是個凸優化函數。
解決凸優化函數是在求解凸優化問題,找凸優化問題的極值要用到KKT條件。
平穩性條件:拉格朗日函數關于原始變量(w,b)(w,b)(w,b)的梯度為0,
?L?w==w?∑i=1mαiyixi=0\frac{\partial L}{\partial w}==w-\sum_{i=1}^{m}\alpha_{i}y_{i}x_{i}=0?w?L?==w?i=1∑m?αi?yi?xi?=0
?L?b=?∑i=1mαiyi=0\frac{\partial L}{\partial b}=-\sum_{i=1}^{m}\alpha_{i}y_{i}=0?b?L?=?i=1∑m?αi?yi?=0互補松弛條件:對于每個樣本,拉格朗日乘子與約束的松弛量乘積為0,
αi[yi(w?xi+b)?1]=0\alpha_{i}[y_{i}(w\cdot x_{i}+b)-1]=0αi?[yi?(w?xi?+b)?1]=0這表明,
當αi=0\alpha_{i}=0αi?=0,樣本對超平面無影響;
當αi>0\alpha_{i}>0αi?>0,樣本必須滿足yi(w?xi+b)=1y_{i}(w\cdot x_{i}+b)=1yi?(w?xi?+b)=1,樣板剛好在超平面上;
原問題可行條件,樣本必須滿足分類約束:
yi(w?xi+b≥1)(i=1,2,...,m)y_{i}(w\cdot x_{i}+b≥1)(i=1,2,...,m)yi?(w?xi?+b≥1)(i=1,2,...,m)
對偶可行條件,拉格朗日橙子非負,
αi≥0(i=1,2,...,m)\alpha_{i}≥0(i=1,2,...,m)αi?≥0(i=1,2,...,m)
KKT條件是判斷拉格朗日函數存在最優解的核心準則,最優解一定滿足KKT條件,滿足KKT條件一定是最優解。
總結
初步學習了KKT條件。