SVM 和線性分類器是分不開的。因為SVM的核心:高維空間中,在線性可分(如果線性不可分那么就使用核函數轉換為更高維從而變的線性可分)的數據集中尋找一個最優的超平面將數據集分隔開來。
所以要理解SVM首先要明白的就是線性可分和線性分類器。

可以先解釋這張圖,通過這張圖就可以了解線性分類器了。
這是一個在二維平面的圖。其中實心點和空心點是分別屬於兩類的,Origin 是原點。
先看中間那條直線,中間的直線就是一條可以實心點和空心點分隔開來的直線,所以上圖中的數據點是線性可分的。
這條直線其實就是線性分類器,也可以叫做分類函數,在直線上方的屬於+1類,在直線下方的屬於-1類。+1,-1這里只是區分類別。
所以該直線就是我們上面說的超平面,在二維空間中它是一條直線,三維空間是一個平面。。。等等,下面就統稱為超平面
這個超平面上的點都滿足
(1)
這里需要解釋一下:
- x 在二維平面中不是指橫坐標值,而是指二維平面中點的向量,在文本分類中就是文本的向量表示。所以 x = ( xi , yi )
- w 也是一個向量 它是一個垂直於超平面的向量,如圖中所示
- 該表達式不只是表示二維空間,也可以表示n維空間的超平面
- b 是一個常數
- w * x 是求兩個向量的點積也就是內積,實際上應該寫成w * xT w乘以x的轉置向量,w是橫向量,x是列向量。
所以二維平面中,該表達式也可以表示為:
(2)
繼續上圖的解釋,其中原點到超平面的距離為

這個可以很容易推導出來,以二維平面為例,上述表達式可以這么轉換
根據點到直線的距離公式:
(3)
計算這個公式是為了方便我們下面計算得到幾何間隔。
這里 || w || 叫做 向量 w 的 歐幾里得范式,p維的向量w的范式:

實際上是對向量長度的一種度量。
以上是在線性分類器中的一些要素:包括n維空間中的一些個點,和把這些點分開的一個超平面
下面是在SVM中對線性分類器不同的地方,在SVM中我們還要找到以下兩條直線H1, H2 (上圖已經是線性可分的最優分類線)
H1 和 H2 它們平行於超平面,在H1 上的點滿足:
(4)
在H2 上的點滿足:
(5)
所以在圖中我們可以看到空心點 都滿足
(6)
實心點都滿足
(7)
所以我們可以把上面連個式子寫成一個不等式:
(8)
這個不等式就是圖中所有數據點要滿足的條件,也是最優分類函數求出來的條件。
這里還要提醒一下,xi 不是橫坐標而是一個n維向量,yi 不是縱坐標而是一個分類標簽,只有+1 和 -1。
上面計算過原點到超平面的距離,以此類推,H1 到原點的距離 = |-1-b| / || w || ; H2 到原點的距離 = | 1 - b | / || w ||
那么H1 到超平面的距離就是 | b| / || w || - |-1-b| / || w || = 1 / ||w|| 同理H2到超平面的距離也是 1/ ||w||
H1 和H2 之間的距離為:2 / ||w|| 。這個距離稱作為幾何間隔。
SVM 的工作是在n維空間中找到這兩個超平面:H1 和H2 使得點都分布在H1 和H2 的兩側,並且使H1 和H2 之間的幾何間隔最大,這是H1 和H2 就是支持向量
為什么呢?因為幾何間隔與樣本的誤分次數間存在關系, 幾何間隔越大誤分次數的上界就越小。
這個1/||w|| 也可以通過上面的不等式(8)推導出來,把不等式(8)左邊和右邊同時除以 || w ||
就可以得到:
(9)
根據(6),(7)實際上yi 只是一個正負號,相當於取絕對值,因為wxi+b<=-1的時候yi就是-1,結果還是正數,所以(9)可以變成:
(10)
不等式左邊表示的就是點到超平面wx+b=0的距離,該式子表示,所有點到超平面wx+b=0的距離都大於1/||w|| 。從圖中看也正是如此。

所以我們接下來的工作就是最大化幾何間隔,事實上也就是求||w||的最小值。
