參考文獻:
1.硬間隔最大化
對於以上的kkt條件可以看出,對於任意的訓練樣本總有ai=0或者yif(xi) - 1=0即yif(xi) = 1
1)當ai=0時,代入最終的模型可得:f(x)=b,樣本對模型沒有貢獻
2)當ai>0時,則必有yif(xi) = 1,注意這個表示式,代表的是所對應的樣本剛好位於最大間隔邊界上,是乙個支援向量,這就引出乙個svm的重要性質:訓練完成後,大部分的訓練樣本都不需要保留,最終的模型僅與支援向量有關。
2.軟間隔最大化
如果資料加入了少數雜訊點,而模型為了遷就這幾個雜訊點改變決策平面,即使讓資料仍然線性可分,但是邊際會大大縮小,這樣模型的準確率雖然提高了,但是泛化誤差卻公升高了,這也是得不償失的。
或者有一些資料,線性不可分,或者說線性可分狀況下訓練準確率不能達到100%,即無法讓訓練誤差為0。
此時此刻,我們需要讓決策邊界能夠忍受一小部分訓練誤差,而不能單純地尋求最大邊際了。因為邊際越大被分錯的樣本也就會越多,因此我們需要找出乙個」最大邊際「與」被分錯的樣本數量「之間的平衡,引入乙個鬆弛係數ζ。
在硬間隔中:決策平面是綠色實線,約束條件是要保證兩類樣本點分別位於兩條綠色虛線的兩側,所有樣本點都被正確分類。
在軟間隔中:決策平面是綠色實線,約束條件變為藍色虛線,且紅色樣本點在紅色箭頭一側即可,紫色樣本點在紫色箭頭一側即可。
由於ζ是鬆弛量,即偏離綠色虛線的函式距離(綠色虛線到決策平面的距離為1),鬆弛量越大,表示樣本點離綠色虛線越遠,如果鬆弛量大於1,那麼表示樣本越過決策平面,即允許該樣本點被分錯。模型允許分類錯誤的樣本數越多,模型精確性越低。因此需要對所有樣本的鬆弛量之和進行控制,因此將所有樣本量之和加入目標函式。
c表示的是在目標函式中鬆弛量的權重,c越大表示最小化時更多的考慮最小化ζ,即允許模型錯分的樣本越少,c值的給定需要調參。
同硬間隔最大化svm,構造軟間隔最大化的約束問題對應的lagrange函式如下:
優化目標函式為:
對偶問題為:
帶入對偶函式得:
再對上式求α的極大值,即得對偶問題:
此處的約束條件由上面求導的2、3式可得。
軟間隔svm的kkt條件:
根據kkt條件中的對偶互補條件 αi(yi(wtxi+b)-1+ξi)=0可知αi>0(即ai≠0)的樣本為支援向量,在間隔邊界上、間隔邊界(yi(w*xi+b)=1)與決策超平面之間、或者在超平面誤分一側的向量都有可能是支援向量,因為軟間隔模型中每個樣本的αi、ξi不同,而αi、ξi不同的取值,樣本就有可能落在不同的區域:
(1)αi0,ξi=0,支援向量xi恰好落在間隔邊界上;
(2)αi=c,則μi=0,則ζ≠0
0ξi=1,則xi在決策超平面上;
ξi>1,則xi位於決策超平面誤分一側。
求得的每個樣本點的α和ζ都不同,因此那條有鬆弛量的藍色虛線超平面只是乙個抽象概念,是不存在的,因為各個樣本的鬆弛量都不同,c只是對總體樣本的鬆弛量(即誤差進行控制)。
支援向量是滿足yi(w*xi+b)=1-ζi這個式子的樣本,因為每個樣本的ζi不同因此支援向量構不成線。間隔邊界yi(w*xi+b)=1還在原來的地方。
圖中箭頭所指的樣本點都可以是支援向量。
如果給定的懲罰項係數c越小,在模型構建的時候就允許存在越多分類錯誤的樣本,也就是表示此時模型的準確率比較低;如果給定的c越大,表示在模型構建的時候,允許分類錯誤的樣本越少,也就表示此時模型的準確率比較高。
手撕SVM公式 硬間隔 軟間隔 核技巧
對於給定的訓練樣本集d yi屬於,希望能找出乙個超平面,把不同類別的資料集分開,對於線性可分的資料集來說,這樣的超平面有無窮多個,而最優的超平面即是分隔間距最大的中間那個超平面 對於以上的kkt條件可以看出,對於任意的訓練樣本總有ai 0或者yif xi 1 0即yif xi 1 1 當ai 0時,...
支援向量機SVM 1 間隔最大化
支援向量機主要分類三類 線性可分支援向量機 資料線性可分時 線性支援向量機 資料近似線性可分 非線性支援向量機 資料線性不可分 這裡先考慮最簡單的情況,即當資料線性可分時。對於2分類的邏輯回歸而言,假設特徵數為2,那麼我們訓練模型的過程通過梯度下降不斷更新引數迫近全域性最優解,擬合出一條直線作為決策...
svm 函式間隔與幾何間隔的認識
在超平面w x b 0 w x b 0 確定的情況下,w x b w x b 可以相對地表示點x距離超平面的遠 近。對於兩類分類問題,如果w x b 0 w x b 0,則 x x 的類別被判定為1 否則判定為 1。所以如果y w x b 0 role presentation style posi...