支持向量機 (Support Vector Machine) 是由Vapnik等人於1995年提出來的,之后隨着統計理論的發展,支持向量機 SVM 也逐漸受到了各領域研究者的關注,在很短的時間就得到了很廣泛的應用。支持向量機是被公認的比較優秀的分類模型。同時,在支持向量機的發展過程中,其理論方面的研究得到了同步的發展,為支持向量機的研究提供了強有力的理論支撐。
一、間隔與支持向量
1、線性二分類問題
線性二分類問題其本質上就是找到一條決策邊界,將我們的數據分成兩類。如下圖:
圖中的綠線與黃線都能很好的將圖中的紅點與藍點給區分開。但是,哪條線的泛化性更好呢?(泛化性也就是說,我們的這條直線,不僅需要在訓練集(已知的數據)上能夠很好的將紅點跟藍點區分開來,還要在測試集(未知的數據)上將紅點跟藍點給區分開來。)
假如經過訓練,我們得到了黃色的這條決策邊界用來區分我們的數據,這個時候又來了一個數據,即黑色的點,那么你覺得黑色的點是屬於紅的這一類,還是藍色的這一類呢?
如上圖,根據黃線的划分標准,黑色的點應該屬於紅色這一類。可是,我們肉眼很容易發現,黑點離藍色的點更近,它應該是屬於藍色的點。這就說明,黃色的這條直線它的泛化性並不好,它對於未知的數據並不能很好的進行分類。那么,如何得到一條泛化性好的直線呢?這個就是支持向量機考慮的問題。
2、支持向量機基本思想
支持向量機的思想認為,一條決策邊界它如果要有很好的泛化性,它需要滿足一下以下兩個條件:
(1)能夠很好的將樣本划分
(2)離最近的樣本點最遠
比如下圖中的黑線:
它能夠正確的將紅點跟藍點區分開來,而且,它還保證了對未知樣本的容錯率,因為它離最近的紅點跟藍點都很遠,這個時候,再來一個數據,就不會出現之前黃色決策邊界的錯誤了。
無論新的數據出現在哪個位置,黑色的決策邊界都能夠很好的給它進行分類,這個就是支持向量機的基本思想。
3、間隔與支持向量
支持向量:距離超平面最近的樣本點;
間隔:兩個異類支持向量到超平面的距離之和。
支持向量機就是要尋找具有最大間隔的超平面。
在樣本空間中,決策邊界可以通過如下線性方程來描述:
其中 w = ( w1 , w2 , .. , wd ) 為法向量,決定了決策邊界的方向。b 為位移項,決定了決策邊界與原點之間的距離。
顯然,決策邊界可被法向量和位移確定,我們將其表示為(w , b)。樣本空間中的任意一個點x
,到決策邊界(w , b)的距離可寫為:
假設決策邊界(w , b)能夠將訓練樣本正確分類,即對於任何一個樣本點 (xi , yi) ,若它為正類,即 yi = +1 時, ;若它為負類,即 yi = −1時,
。
如圖中,距離最近的幾個點使兩個不等式的等號成立,它們就被稱為支持向量,即圖中兩條黃色的線。兩個異類支持向量到超平面的距離之和為: 。它被稱為間隔,即藍線的長度。
欲找到具有“最大間隔”的決策邊界,即黑色的線,也就是要找到能夠同時滿足如下式子的 w 與 b :
4、間隔與支持向量數學推導
推導過程:
實例計算:
假設下面使兩類中的一些點集:
划分它們並找到最優分類線。支持向量是什么?間隔是是什么?
解得:
5、支持向量機基本型