假設訓練數據集不是線性可分的。通常情況是,訓練數據中有一些特異點(outlier),將這些特異點除去後,剩下大部分的樣本點組成的集合是線性可分的。
①從原問題到對偶問題
-
對每個樣本點(xi,yi) 引進一個鬆弛變量,使函數間隔加上鬆弛變量大於等於1。約束條件變爲
yi(w⋅xi+b)≥1−ξi,i=1,2,...,N
同時,對每個鬆弛變量,支付一個代價,原優化問題變爲凸二次規劃(convex quadratic programming)問題:
w,b,ξmin s.t. 21∥w∥2+C∑i=1Nξiyi(w⋅xi+b)⩾1−ξi,i=1,2,⋯,Nξi⩾0,i=1,2,⋯,N
C 稱爲懲罰參數,一般由應用問題決定,C 值大時對誤分類的懲罰增大,C值小時對誤分類的懲罰減小。最小化目標函數包含兩層含義:使21∣∣w∣∣2 儘量小即間隔儘量大,同時使誤分類點的個數儘量小,C 是調和二者的係數。
-
原始最優化問題的拉格朗日函數是
L(w,b,ξ,α,μ)≡21∥w∥2+Ci=1∑Nξi−i=1∑Nαi(yi(w⋅xi+b)−1+ξi)−i=1∑Nμiξi
其中αi≥0,μi≥0
②對偶問題的解的形式化簡
現在我們要解的原問題的變量從兩個w,b變成了三個w,b,ξ,同樣原始問題等價於對拉格朗日函數的min-max問題,對偶問題是拉格朗日函數的max-min問題,其中min針對問題變量,max針對約束參數。對偶問題的內層min問題,對問題變量求導有
∇wL(w,b,ξ,α,μ)=w−∑i=1Nαiyixi=0∇bL(w,b,ξ,α,μ)=−∑i=1Nαiyi=0∇ξiL(w,b,ξ,α,μ)=C−αi−μi=0
化簡得
w=∑i=1Nαiyixi∑i=1Nαiyi=0C−αi−μi=0
代回拉格朗日函數,得到對偶問題:
αmax s.t. −21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi∑i=1Nαiyi=0C−αi−μi=0αi⩾0μi⩾0,i=1,2,⋯,N
再將對目標函數求極大轉換爲求極小,消去變量μi,得到對偶問題如下,可以看到只是約束參數αi的範圍多了一個C
αmin s.t. 21∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi∑i=1Nαiyi=00⩽αi⩽C,i=1,2,⋯,N
可以通過求解對偶問題而得到原始問題的解,進而確定分離超平面和決策函數。
③從對偶問題的解到原問題的解
假設對偶問題的解α∗已經知道,(對原問題)用KKT條件得
∇wL(w∗,b∗,ξ∗,α∗,μ∗)=w∗−∑i=1Nαi∗yixi=0∇bL(w∗,b∗,ξ∗,α∗,μ∗)=−∑i=1Nαi∗yi=0∇ξL(w∗,b∗,ξ∗,α∗,μ∗)=C−α∗−μ∗=0αi∗(yi(w∗⋅xi+b∗)−1+ξi∗)=0μi∗ξi∗=0yi(w∗⋅xi+b∗)−1+ξi∗⩾0ξi∗⩾0αi∗⩾0μi∗⩾0,i=1,2,⋯,N
第一個式子容易得到
w∗=i=1∑Nαi∗yixi
至少有一個(不是要求的,是求解問題的時候,發現至少一個非零纔是合理的,否則都爲0,根據第一個式子w也爲0)αj∗>0,任選其一,yj(w∗⋅xj+b∗)−1=0
注意到yj2=1,聯立上述二式得
b∗=yj1−w∗⋅xj=yj−∑i=1Nαi∗yixixj
和前述硬間隔的結果一樣。
④從原問題的解到分離超平面、決策函數、支撐向量
進一步,分離超平面可以寫成
i=1∑Nαi∗yi(x⋅xi)+b∗=0
分類決策函數可以寫成
f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
可以看到,w∗,b∗只依賴於那些αj∗>0的樣本,這樣的對應的訓練樣本我們就稱之爲支撐向量。
注:
每次任選一個符合條件的非0的αj就可求得w和b,但是這樣的結果可能由於j不一樣而不唯一。