SVM--深入學習1
阿新 • • 發佈:2019-01-04
SVM–深入學習1
根據臺灣大學林軒田老師機器學習技法課程整理。
SVM就是要找一條最胖的分類線,最胖的分類線如何確定呢?所有點到分類線都有一定距離,這條最胖的線就是最大的所有點中距離最小的那條線。(有點繞)
如下圖所示,三幅圖中三條線都分類正確,第一幅圖中所有點中距離分類線最近的距離記為a1,第二幅圖中記為a2,第三幅圖記為a3,顯然a3>a2>a1,所以a3的那條分類線就是我們所求的最胖的線(max margin)
下面我們來說明如何求每一點到分類線的距離distance(幾何知識)。
(以分類面為例,和分類線同一道理,利用分類面更方便解釋說明)
如下圖所示, ′
求得了distance,margin 就是min distance,我們的目標是求max margin,如下圖所示。這裡yn=sign(
再進一步轉化(這個轉化還沒搞特別清楚,先不寫緣由了),得到
一般比較方便求最小值,所以再把求最大值轉化為求最小值,約束條件也做一下轉化,得到
這個形式其實就是二次規劃,我們用的工具裡面都有現成的二次規劃求解,所以就很容易求解了。
但是以上這些都是基於線性可分討論的,如果線性不可分呢?