cs229筆記三 支援向量機
阿新 • • 發佈:2019-01-12
支援向量機(Support Vector Machine ,SVM )
SVMs通常被認為是最好的現成的學習演算法。在敘述SVM之前我們先討論一下邊界和通過一個很大的間隙將資料進行分隔。接下來,我們討論一下最優化間隔分類器,這將讓我們看到拉格朗日對偶。同時我們將學習到核(kernels),核將讓SVM能在高維特徵空間更加有效,最後我們將介紹一下SMO演算法。
間隔:直覺
這節我們將對邊界給出一個直觀的感受以及預測結果的置信度。考慮邏輯迴歸通過
對於另外一個直觀的感受,考慮一下下面的圖。圖中”x”表示正訓練樣本,”o”表示負訓練樣本。決策邊界由方程 決定,也叫做超平面。以及給出了A,B,C三個點。我們可以看到對於一個未知點,它離決策線越遠,那我們更有信心給出它的預測結果。
符號
為了更方便的對SVMs進行討論,我們先介紹一些符號。我們先考慮一個對特徵為
,標籤為
的二值分類問題進行分類的線性分類器。從現在起,
而不是
來表示類別的標籤。同樣,我們的線性分類器的引數現在也不是
而是
線性分類的可以寫為:
這裡,當
時
,
時,
。以及引數
就相當於之前的
,引數
就相當於
.
注意,從上面定義的函式
,分類器的預測結果將直接給出1或-1(與感知器演算法一致)。而不是先經過中間步驟估計
時的概率。
函式間隔以及幾何間隔
對於一個給定的訓練集
,我們定義函式間隔為: