1. 程式人生 > >SVM中的軟間隔最大化與硬間隔最大化

SVM中的軟間隔最大化與硬間隔最大化

參考文獻:https://blog.csdn.net/Dominic_S/article/details/83002153

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。

此時此刻,我們需要讓決策邊界能夠忍受一小部分訓練誤差,而不能單純地尋求最大邊際了。因為邊際越大被分錯的樣本也就會越多,因此我們需要找出一個”最大邊際“與”被分錯的樣本數量“之間的平衡,引入一個平衡係數ζ。

在硬間隔中:決策平面是綠色實線,約束條件是要保證兩類樣本點分別位於兩條綠色虛線的兩側,所有樣本點都被正確分類。

在軟間隔中:決策平面是綠色實線,約束條件變為藍色虛線,且紅色樣本點在紅色箭頭一側即可,紫色樣本點在紫色箭頭一側即可。