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。

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

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

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

由於ζ是松弛量,即偏離綠色虛線的函數距離(綠色虛線到決策平面的距離為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)αi<C,則μi>0,ξi=0,支持向量xi恰好落在間隔邊界上;

        (2)αi=C,則μi=0,則ζ≠0

      0<ξi<1,則分類正確,xi在間隔邊界與決策超平面之間;

              ξi=1,則xi在決策超平面上;

      ξi>1,則xi位於決策超平面誤分一側。

求得的每個樣本點的α和ζ都不同,因此那條有松弛量的藍色虛線超平面只是一個抽象概念,是不存在的,因為各個樣本的松弛量都不同,C只是對總體樣本的松弛量(即誤差進行控制)。

支持向量是滿足yi(w*xi+b)=1-ζi這個式子的樣本,因為每個樣本的ζi不同因此支持向量構不成線。間隔邊界yi(w*xi+b)=1還在原來的地方。

圖中箭頭所指的樣本點都可以是支持向量。

如果給定的懲罰項系數C越小,在模型構建的時候就允許存在越多分類錯誤的樣本,也就是表示此時模型的准確率比較低;如果給定的C越大,表示在模型構建的時候,允許分類錯誤的樣本越少,也就表示此時模型的准確率比較高。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM