paper 123: SVM如何避免過擬合


過擬合(Overfitting)表現為在訓練數據上模型的預測很准,在未知數據上預測很差。過擬合主要是因為訓練數據中的異常點,這些點嚴重偏離正常位置。我們知道,決定SVM最優分類超平面的恰恰是那些占少數的支持向量,如果支持向量中碰巧存在異常點,那么我們傻傻地讓SVM去擬合這樣的數據,最后的超平面就不是最優的。

如圖1所示,深紅色線表示我們希望訓練得到的最優分類超平面,黑色虛線表示由於過擬合得到的較差的分類面。這是由於藍色數據中有一個異常點,即圖中的那個黑圈藍點,使得我們的SVM去將就配合它,導致最后得到的分類面(粗黑色虛線)不盡如人意。從間隔可以看出,黑色虛線兩邊的間隔要比紅色線兩邊的間隔要狹窄,也就是黑色虛線的分類效果比較差。

                                        圖1 異常點導致SVM過擬合

解決過擬合的辦法是為SVM引入了松弛變量ξ(slack variable),將SVM公式的約束條件改為:

(3)

從圖2可以看到,引入松弛變量使SVM能夠容忍異常點的存在。為什么?因為引入松弛變量后,所有點到超平面的距離約束不需要大於等於1了,而是大於0.8就行了(如果ξ=0.2的話),那么異常點就可以不是支持向量了,它就作為一個普通的點存在,我們的支持向量和超平面都不會受到它的影響。

                                          圖 2 松弛變量的作用

我們知道,事物都有兩面性,對異常點太容忍會導致任意超平面都可以是“最優”超平面,SVM就失去意義了。因此SVM公示中的目標函數也需要相應修改,我們加上松弛變量的平方和,並求最小值。這樣就達到一個平衡:既希望松弛變量存在以解決異常點問題,又不希望松弛變量太大導致分類解決太差。


免責聲明!

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



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