1. 程式人生 > >SVM的基礎原理

SVM的基礎原理

 

因為看cs231的時候用了一下multi-class的svm,所以又把svm給複習了一下,教材是周志華的西瓜書,這裡是大概的筆記。

1.線性可分

對於一個數據集:

如果存在一個超平面X能夠將D中的正負樣本精確地劃分到S的兩側,超平面如下:

那麼資料集D就是線性可分的,否則,不可分。

 w稱為法向量,決定了超平面的方向;b為位移量,決定了超平面與原點的距離。

樣本空間中的任意點x到超平面X的距離(不太熟悉的可以複習高數中空間幾何那一章的內容)可以寫為:

使得下面兩式成立的訓練樣本稱為支援向量:

兩個異類支援向量(一個等於+1,一個等於-1)到超平面的距離之和為:

它稱之為“間隔”

 想找到最大間隔的劃分超平面,就是使最大:

等價於:

 

這就是支援向量機的基本模型。

對偶問題:

上式的拉格朗日函式可寫為:

 

 


其中,

對引數w和b求導可得:

將上式帶入到拉格朗日函式中,消去w和b,得到對偶表示式:

 

接著用SMO的方法來求解

 

 

 

接著求B,因為根據我們的受限條件,任意一個支援向量都可以計算b,但是為了模型的魯棒性,接著我們把所有的支援向量來求平均

其中S為支援向量集