3. 支持向量機
3.1 本質
基本模型是定義在特徵空間上的間隔最大的線性分類器。核技巧使之成爲實質上的非線性分類器。
學習策略是間隔最大化,可形式化爲求解凸二次優化問題。等價於正則化的合頁損失函數的最小化問題。
學習算法是求解凸二次規劃的最優化算法。
理解支持向量機可以從簡至繁推進:線性可分支持向量機(硬間隔SVM),線性支持向量機(軟間隔SVM),非線性支持向量機(軟間隔最大化+核技巧)。
3.2 訓練數據集
假設給定訓練數據集:T=(x1,y1),(x2,y2),...,(xN,yN)
其中x∈Rn,y∈{+1,−1},+1表示爲正例,-1表示負例。
學習的目標在於在特徵空間中尋找一個分離超平面w⋅x+b=0,將正例和負例正確分開。感知機利用誤分類最小的策略。SVM利用間隔最大化的策略。
3.3 線性可分SVM
假設訓練數據集線性可分,則存在無窮個分離超平面可將兩類數據正確分開。若分類超平面爲:w⋅x+b=0
相應的分類決策函數爲:f(x)=sign(w⋅x+b)
這種判別爲模型爲線性可分SVM。
線性可分SVM的學習策略(尋找超平面的策略)爲間隔最大化。
那麼,何爲間隔呢?
對於一個分離超平面w⋅x+b=0,樣本點xi距離超平面的幾何距離爲:
γi=∣∣w∣∣∣w⋅x+b∣。一般來說,點xi距離超平面的遠近可以表示分類預測的確信度。距離超平面較遠的點,其分類預測結果更可信。w⋅xi+b的符號與類標記yi是否一致表示分類的正確性。
間隔就是分類正確性和確信度的一種表達,可分爲函數間隔和幾何間隔。∣w⋅xi+b∣可以相對地表示點xi距離超平面的遠近,yi(w⋅xi+b)爲函數間隔。∣∣w∣∣yi(w⋅xi+b)爲幾何間隔。
3.3.1 求解分割超平面的問題建模:間隔最大化
SVM學習的基本想法是求解能夠正確劃分訓練數據集且幾何間隔最大的分離超平面。
maxwbγ
s.t.∣∣w∣∣yi(w⋅xi+b)>γ
可以轉化爲:
minwb21∣∣w∣∣2
s.t.yi(w⋅xi+b))>=1
3.3.2 支持向量和間隔邊界
在線性可分的情況下,訓練數據集距離分離超平面最近的樣本點成爲支持向量(SV)。支持向量是使上面約束式等號成立的點,即:
yi(w⋅xi+b)−1=0
對yi=+1的正例點,支持向量在超平面H1:w⋅x+b=1上。
對yi=−1的負例點,支持向量在超平面H2:w⋅x+b=−1上。
H1和H2爲間隔邊界,之間的距離爲間隔。
注: 決定分離超平面時,只有支持向量起作用。其他點的移動甚至去除都不會影響求解。
3.3.3 問題轉化:對偶化