1. 程式人生 > >支援向量機(斯坦福大學課程講義Andrew Ng)

支援向量機(斯坦福大學課程講義Andrew Ng)

SVM演算法是最流行的監督學習演算法之一(很多人認為是最好的)。為了講清楚SVM演算法,我們需要先討論一下間隔(margin)和分離資料的間隙(gap)。 下一步,我們將會討論最優間隔分類器,其中用到了拉格朗日對偶。 我們也會接觸到核函式,核函式提供了一種將SVM應用於高維(比如無限維)特徵空間的方法。 最後我們講解SMO(序列最小優化)演算法,它是SVM演算法的高效實現。

1.間隔:直觀
這部分給出了間隔和預測的“可信度”的直觀介紹。 對於邏輯迴歸來說,概率P(y=1│x;θ)被模式化為h_θ (x)=g(θ^T x).當且僅當h_θ (x)≥0.5或者是θ^T x≥0,我們將預測結果為1.考慮一個正的的訓練樣本(y=1). θ^T x越大,h_θ (x)=P(y=1|x;w,b)就會越大,我們就會認為標籤為1 的可能性越高。這樣我們就會認為當θ^T x≫0時,y=1的可信度很高。相似的,我們就會認為邏輯迴歸做出如下預測,當θ^T x≪0時,y=0。對於一個訓練集來說,如果我們能找到引數θ使得當y^((i))=1時,θ^T x^((i))≫0, 當y^((i))=0時,θ^T x^((i))≪0,才能得到對訓練資料的良好的擬合,因為它反映了對於所有訓練樣本的正確的分類。我們將利用函式間隔來形式化這種分類從而實現良好的擬合結果。
對於直觀上的不同型別,如下圖,×代表正例的訓練樣本,0代表負例的訓練樣本,決策間隔(這條直線根據等式θ^T x=0,也叫分離超平面)為下圖直線,還有三個點分別標註為A,B,C。
這裡寫圖片描述

注意到點A遠離決策面。如果對點A做出預測,那麼我們一定十分確信y=1。相反的,點C離決策面很近,雖然它在決策面做出預測y=1的那一邊,但是如果決策面稍微移動,就有可能結果為y=0。因此,相對於C的預測結果,我們更加確信A的預測結果。點B在A,C兩個例項之間,從而我們認為當一個點離分離超平面越遠時,我們則更加確信我們的預測結果。通常,我們設法找到一個好的決策間隔,使得在訓練樣本上做出的資料全部為正確的和可信的(意味著遠離決策間隔)。稍後我們將要使用幾何間隔來形式化的表示上述說法。

由於文章涉及的公式過多,而編輯器不能很好的顯示這些公式,所以我已經整理成文件供大家免費下載,請多多指教。

目錄:
1.間隔:直觀 1
2.數學符號 3
3.函式間隔和幾何間隔(Functional and geometric margins) 3
4.最優間隔分類器(The optimal margin classifier) 6
5.拉格朗日對偶性 8
6.最優間隔分類器 11
7.核函式 15
8.正則化和不可分離的情況 20
9. SMO演算法 22
9.1 座標上升 22
9.2 SMO 24