1. 程式人生 > >Support Vector Machine(3):Soft Margin 平衡之美

Support Vector Machine(3):Soft Margin 平衡之美

pla ima pan 圖片 sof 線性 線性可分 線性不可分 距離

很多材料上面講道“引入Soft Margin的原因是因為數據線性不可分”,個人認為有些錯誤,其實再難以被分解的數據,如果我們用很復雜的彎彎繞曲線去做,還是可以被分解,並且映射到高維空間後認為其線性可分。但如果我們細細思考,其實很多算法都有一樣的索求:尋求一種之於“最大限度擬合訓練集”and“獲得更好歸納能力”的平橫,也就是所謂的Overfitting and Underfitting。也像人的性格,太過糾結細節或者神經太過大條,都難以和人相處愉快。那讓我們的訓練集的數據,必須要用很復雜的曲線才可以分割時,我們引入soft margin的概念。

在未引入Soft Margin的SVM中,我們希望每個訓練集中的數據點至少滿足如下條件,即距離Margin的函數距離大於0,也即距離Hyperplane的函數距離大於1

技術分享圖片

而考慮到,如果有部分outliers點的函數距離小於我們的期望值了,該偏離為ξ,那麽這些點滿足的條件是:

技術分享圖片

那麽,我們把之前的優化問題如下:

技術分享圖片

轉化為了:

技術分享圖片

也就是說,一方面我們需要優化ω,使得margin=1/|| ω||值達到最大化,另一方面我們選擇的 ω又要使得outliers的偏離值之和最小,在二者之間尋求一種平衡。C是平衡系數,用於調整兩部分調整項之間的權重。該優化的拉格朗日函數為:

技術分享圖片

經過求對偶,利用KKT條件:

技術分享圖片

帶回到原L函數中,ξ的系數會變成C-α-r=0,因而被消去,所以經過推導,Dual問題變為:

技術分享圖片

可以看到,形式幾乎和原問題一樣,知識在α的條件上加了個上限C。

Support Vector Machine(3):Soft Margin 平衡之美