機器學習技法筆記4:軟邊界SVM
之前所論述的都是稱為Hard-Margin SVM(硬邊界SVM),即必須將所有的樣本都分類正確才行。這往往需要更多更複雜的特徵轉換,甚至造成過擬合。
這一章論述一種新的SVM,稱為Soft-Margin SVM(軟邊界SVM),目的是讓分類錯誤的點越少越好,錯誤的大小越小越好,而不是必須將所有點分類正確,也就是允許有噪音點(noise)存在。這種做法很大程度上不會使模型過於複雜,不會造成過擬合,而且效果也不錯。這種其實是最常見的svm方式
軟邊界svm
一開始,我們只管分類錯誤的點個數,於是得出以下目標和條件:
參數C的是為了權衡目標第一項和第二項的關係,即權衡超平面和噪音點的關係。
但是此目標和條件沒有區分噪音點的偏離程度,這樣的分類效果不理想。所以重新設計目標和條件:
表示每個點犯錯誤的程度,ξn=0,表示沒有錯誤,ξn越大,表示錯誤越大,即錯誤點距離正確邊界越大(邊界!不是中心線)。參數C表示選擇寬邊界還是選擇犯錯較小之間的權衡,因為邊界寬了,往往犯錯誤的點會增加。大C表示不惜選擇窄邊界也要儘可能把更多點正確分類;小C表示希望得到更寬的邊界,即不惜增加錯誤點個數也要選擇更寬的分類邊界。
注意:此時不要把犯錯的點混淆到選擇支撐點的那些點集合中去
推導對偶問題
構造一個拉格朗日函數,兩個條件引入兩個拉格朗日因子 :
利用Lagrange dual problem,將軟邊界SVM問題轉換為如下形式:
根據KKT條件,對上式進行簡化。對拉格朗日函數L(b,w,ξ,α,β)計算最小值,根據最小值位置滿足梯度為零,對 做偏微分:
得到βn=C?αn,因為有βn≥0,所以限制0≤αn≤C。將βn=C?αn代入到上式中並化簡,即可消去βn和ξn:
這個形式跟硬邊界SVM中的對偶形式基本一樣,只是條件不同。分別對b和w的偏導數為零:
最終標準軟邊界SVM的對偶形式如下:
對偶問題求解
對偶形式中有兩個complementary slackness條件:
#todo 4-3 4:46推導部分沒看懂,需要再複習一遍4-2的推導
點的物理意義
做完svm得到的點,在幾何上表示有如下幾種情況:
#聽的如履薄冰.........
推薦閱讀:
※機器學習演算法實踐-SVM核函數和軟間隔
※支持向量機中的函數距離和幾何距離怎麼理解?
※拉格朗日乘子法漏解的情況?
※如何理解SVM | 支持向量機之我見