SVM防止過擬合

2021-08-07 12:22:37 字數 730 閱讀 1814

過擬合(overfitting)表現為在訓練資料上模型的**很準,在未知資料上**很差。過擬合主要是因為訓練資料中的異常點,這些點嚴重偏離正常位置。我們知道,決定svm最優分類超平面的恰恰是那些佔少數的支援向量,如果支援向量中碰巧存在異常點,那麼我們傻傻地讓svm去擬合這樣的資料,最後的超平面就不是最優的。

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

線的分類效果比較差。

圖1 異常點導致svm過擬合

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

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

圖 2 鬆弛變數的作用

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

防止過擬合以及解決過擬合

過擬合 為了得到一致假設而使假設變得過度複雜稱為過擬合。乙個過配的模型試圖連誤差 噪音 都去解釋 而實際上噪音又是不需要解釋的 導致泛化能力比較差,顯然就過猶不及了。這句話很好的詮釋了過擬合產生的原因,但我認為這只是一部分原因,另乙個原因是模型本身並不能很好地解釋 匹配 資料,也就是說觀測到的資料並...

過擬合以及如何防止過擬合

過擬合即模型在訓練過程中對模型引數進行擬合的過程中,由於訓練資料集存在抽樣誤差 雜訊 複雜的模型在訓練的過程中會將抽樣誤差也一同進行擬合。這就導致訓練好的模型在訓練集上的表現很好,在測試集上的表現很差的原因。導致過擬合的主要原因有兩個 資料量太少和模型過於複雜 因為機器學習演算法在擬合出正確的規則後...

dropout防止過擬合

l1 l2正則化是通過修改代價函式來實現的,而dropout則是通過修改神經網路本身來實現的,它是在訓練網路時用的一種技巧 trike 它的流程如下 假設我們要訓練上圖這個網路,在訓練開始時,我們隨機地 刪除 一半的隱層單元,視它們為不存在,得到如下的網路 保持輸入輸出層不變,按照bp演算法更新上圖...