標籤:

為什麼svm不會過擬合?

VC維的上界與所取的函數間隔有關,如果函數間隔取得比較大,是可以控制過擬合的。但是,我不懂L2-norm regularization與控制過擬合的關係。


SVM當然會過擬合,而且過度擬合的能力還非常強。

首先我想說說什麼叫過度擬合?

就是模型學岔路了,把數據中的噪音當做有效的分類標準。

通常越是描述能力強大的模型越容易過度擬合。描述能力強的模型就像聰明人,描述能力弱的如:」一次線性模型「像傻子,如果聰明人要騙人肯定比傻子更能自圓其說對不對?

而SVM的其中一個優化目標:最小化||W||,就是抑制它的描述能力,聰明人是吧,只允許你用100個字,能把事情說清楚不?這就是為什麼regularization能夠對抗過度擬合,同時它也在弱化模型的描述能力。但只要能說話就能說謊,就能歪曲事實對不對?

只有少數幾種模型有抗過擬合的能力如Random Forrest,AdaBoost等

別把SVM想得太複雜,你就可以把它當做一個線性分類器只不過它優化了分類平面與分類數據之間距離。

把下面這三節課耐心的聽完,對過擬合和SVM的理解就會心有所悟了。

加州理工學院公開課:機器學習與數據挖掘_LA___Lecture 12_ [ Regularization ]_網易公開課

加州理工學院公開課:機器學習與數據挖掘_NA___Lecture 14_ [ Support Vector Machines_網易公開課

加州理工學院公開課:機器學習與數據挖掘_OA___Lecture 15_ [ Kernel Methods ]_網易公開課


線性可分情況下,SVM的優化目標函數是:min ||w||, subject to y(wx-b)&>=1。從幾何的角度來解釋,1/||w||本身就度量了各類樣本到分界面的歸一化距離(即margin),因此最小化||w||就是最大化margin。SVM優化目標函數的另一種表達形式是:min a(y(wx-b)-1)+1/2||w||。其中第一項hinge loss表徵了分類錯誤,第二項則表示L2-norm regularization。因為,如果沒有第二項約束,第一項可以無限的小。


SVM的模型里,可以把 ||w||^2 項看成幾何間隔,也可以把它看成 L2 正則化項,

如果把它看成幾何間隔,那麼,它的係數越大,也就相當於 C 越小(就是 soft margin 那個 C),於是就對違反 margin 的點懲罰更小,更「寬容」,於是就更不容易去擬合訓練數據中的雜訊。

如果把它看成正則化項,那麼,通過限制 w 的長度,能夠避免某些極端的 w,這些 w 在輸入輕微變化時,會產生截然不同的輸出。

SVM訓練出的模型比其它的線性模型更加穩定,variance 更小(因為整個模型僅由支撐矢量來決定,就算把其它訓練數據都丟掉,還是能訓練出相同的模型,但是像 perceptron 模型就沒有這種性質),所以更不容易過擬合,但這不意味著它不會過擬合。

以上為個人粗淺理解,不一定對。


半小時前剛看到一個講這個的視頻 雖然不是svm 但是L2-norm regularization 的本質是一樣的

可以幫你入門下

https://class.coursera.org/nlp/lecture/view?lecture_id=136

右下角可以選擇英文字幕


會過擬合


居然沒人提到奧卡姆剃刀法則。

首先回答樓主的問題,L2正則為什麼能保證控制過擬合。這裡面就有個哲學思想,叫做奧卡姆剃刀法則,簡單來說這個想法就是「能簡單說的話,不要複雜的說」。L2正則項就能代表模型的複雜度,根據奧卡姆,如果同樣效果那麼越簡單的模型泛化效果越好。所以最優化過程中盡量追求小的L2的值就會提高泛化能力,也就抑制了過擬合的問題。

再有人說噪音的問題,噪音會通過鬆弛變數的方法處理掉。


一圖勝千言


過擬合是過配的模型試圖連誤差(噪音)都去解釋了,||w||的存在其實是一個權重衰減項, L2的目的是減小權值的變化幅度,這樣達到防止過擬合的作用,最小化||w||從直觀上表現為最大化間隔


svm是會過擬合的。曾經的一個項目中,使用svm的測試數據準確率達到了驚人的98.5以上。但實際上遠低於此。很顯著的過擬合。


看用途吧,我感覺SVM很容易過擬合吧。做實驗發現很容易就可以把有大量奇異值的數據集的模型優化到接近100%。徑向基函數太萬能,對噪音太敏感了


之所以過擬合,是因為模型的描述能力過強,導致在訓練數據上,精度特別高,換一組數據,精度明顯下降;

描述能力的表現就是結構過於複雜,所以一般需要在目標函數中加入對模型規模的限制,像L1,L2這種,||W|| 或||W||2 。在svm中,目標函數中一項是 min 1/2||W||的平方,這樣就解決的過擬合的問題。另外,SVM增加一定容余,允許一定數據被錯分。

基本是這個意思吧。

另外,在用CNN的時候,有時候也會發生過擬合,但是加入權值規則項後,效果會好很多。


會過擬合 利用經驗風險最小化來平衡過擬合和欠擬合

l2正則化控制權重,會使參數稀疏,模型變簡單,范化能力就增強了。


看了下面的答案…… 我有點暈乎

恩達到底有沒有騙我……


哪種模型都會過擬合,只不過鬆弛變數懲罰因子可以控制模型複雜度罷了……


感覺SVM是靠結構化風險來抵禦過擬合問題,只是抵禦不能保證能不能防得了


呵呵呵,誰說不過擬合的。

剛剛做了個幾個比較大的數據集,訓練集含13+萬數據,數據特徵391維。不平衡訓練,比例大概21。undersamplimg整出來的模型對原訓練集任意部分預測的MCC&>0.95(其實我一看這結果心就涼半截,就好比你一個學生,突然遇到北京方面研究決定讓你去中南海一般,太好的事情一般都是做夢)。

果然對測試集一搞,算出來每個點的sigmoid概率輸出居然基本相同,也就是說和分類超平面(實際上用的高斯核所以是超曲面)平行了。。


必然會過擬合啊,還會維度災難。。。


誰說SVM 不會過擬合的,你在R10 在取 5個點做SVM看看


推薦閱讀:

想研究下SVM,有什麼好的文章或者經驗之談可以分享下不?
SVM中,高斯核為什麼會把原始維度映射到無窮多維?
KNN 與 SVM 的區別是什麼?
支持向量機中的函數距離和幾何距離怎麼理解?
支持向量機(SVM)是否適合大規模數據?

TAG:SVM |