1. 程式人生 > >機器學習-支援向量機(SVM)演算法學習筆記

機器學習-支援向量機(SVM)演算法學習筆記

假設有訓練集D={(x1, y1), (x2, y2), ..., (xm, ym)},yi\epsilon{-1, 1},分類學習最基本的想法就是基於訓練集D在樣本空間中找到一個劃分超平面,將不同類別的樣本分開。

但是能將訓練樣本分開的超平面肯定不止一個。

在樣本空間中,超平面可用下面的方程描述:

其中,w=(w1, w2, ..., wd)為法向量,決定了超平面的方向。b為位移項,決定了超平面與原點之間的距離。

樣本空間中任意一點x到超平面的距離可以表示為:

假設超平面(w,b)能將訓練樣本正確分類,令:

距離超平面最近的這幾個訓練樣本點使上式的等式成立。它們被稱為“支援向量”(support vector),兩個異類支援向量到超平面的距離之和為

它被稱為“間隔”(margin)。

要尋找具有“最大間隔”的劃分超平面,也就是要找到滿足約束條件的w,b,使得上式最大,即

等價於:

這就是支援向量機(Support Vector Machine,簡稱SVM)的基本型。