SVM支持向量機(一)

SVM支持向量機:Maximum Margin Classifier

1.理解

數據點用X表示,是一個n維的向量,類別爲y,值爲-1、1表示兩個類別.

假設數據線性可分(在絕大部分時候數據並不是線性可分的,我們不能找到這樣一個超平面,但目前我們先從最簡單的情形講起),線性分類器就是要在n維的數據空間中找到一個超平面,其方程可以表示爲
w T X + b = 0 w^TX+b=0
我們希望這個超平面能夠將兩類數據分割開來。令 f ( X ) = w T X + b f(X)=w^TX+b ,則如果 f ( X ) = 0 f(X)=0 X X 位於超平面上,我們要求 f ( X ) < 0 f(X)<0 時對應 y = 1 y=-1 , f ( X ) > 0 f(X)>0 時,對應 y = 1 y=1 .

對於如下圖,我們的目標即找到合適的決策邊界將數據進行分隔,我們可以有很多的選擇,但是這些選擇之間存在優劣的差別。

在這裏插入圖片描述
在進行預測的時候,我們計算 f ( X ) f(X) 的值,當其小於0的時候則類別爲-1.當其結果大於0的時候則判定其類別爲1,當 f ( X ) = 0 f(X)=0 的時候則很難辦,分到哪類都不對。事實上,對於 f ( X ) f(X) 的絕對值很小的時候都很難處理,因爲此時只要超平面有輕微的變動就會導致結果類別的變動,所以我們希望 f ( X ) f(X) 的絕對值都很大,這樣我們就會更加確信它是屬於哪一類別。相較與綠色和紅色的決策邊界,黑色的決策邊界對於數據點具有更大的距離, f ( X ) f(X) 的絕對值更大。

直觀上講,黑色的決策邊界對於訓練樣本局部擾動性的「容忍性「更好,我們假設再添加一個樣本點,則紅色的決策邊界需要做出更多的調整。換言之黑色決策邊界具有更強的泛化能力,魯棒性更強。

2.求解

如何找到這條線呢?
在這裏插入圖片描述

定義 R R f u n c t i o n   m a r g i n function\ margin R R 的長度即爲 f ( X ) f(X) 的絕對值
R = y ( w T X + b ) ( y ) R=y(w^TX+b)(通過乘以y來保證非負性)
定義 γ \gamma g e o m e t r i c a l   m a r g i n geometrical\ margin :即點到直線的距離爲
γ = w T X + b w = y ( w T X + b ) w \gamma=\frac{|w^TX+b|}{\parallel w \parallel}=\frac{y(w^TX+b)}{\parallel w\parallel}
顯然,兩者之間相差一個 w \parallel w\parallel 的縮放因子。
γ = R w \gamma=\frac{R}{\parallel w \parallel}
我們將 γ \gamma 作爲margin的度量。

我們可以知道,當數據線性可分的情況下,在間隔範圍內不存在任何數據,即滿足:
y i ( w T X i + b ) w γ    ( i { 1 , 2... m } ) y i ( w T X i + b ) γ w = R \begin{aligned}& \frac{y_i(w^TX_i+b)}{\parallel w \parallel}\geq\gamma\ \ (i\in \{1,2...m\}) \\& y_i(w^TX_i+b)\geq\gamma\parallel w \parallel=R\end{aligned}

在滿足此條件的情況下,我們想要找到最大的margin,即:
max w , b γ = max w , b R w \begin{aligned}\max_{w,b}\gamma=\max_{w,b}\frac{R}{\parallel w\parallel}\end{aligned}
根據中學知識,當超平面被固定之後,等比例縮放參數 w w b b 表示的是同一個超平面,而 R = y ( w T X + b ) R=y(w^TX+b) 顯然可以看出 R R 的大小可跟隨參數的縮放而變化( γ \gamma 不存在這個問題,它只跟隨超平面的變動而變動)。爲了確定超平面,我們可將 R R 固定下來,此時爲了最大化 γ \gamma 僅需最大化 w 1 \parallel w \parallel^{-1} ,而這相當於最小化 w 2 \parallel w\parallel^2 ,於是公式應該如下(設 R R =1, 1 2 \frac12 只是爲了求解方便):
min w , b 1 2 w 2 s . t . y i ( w T X + b ) 1 ,    i = 1 , 2 , . . m \min_{w,b}\frac12\parallel w \parallel^2 \\s.t.yi(w^TX+b)\geq1,\ \ i=1,2,..m
通過求解這個問題,我們就可以找到一個margin最大的分類器,如下圖所示:

在這裏插入圖片描述
到此爲止,Maximum Margin Classifier就講完了,通過最大化margin,我們使得該分類器對數據進行分類時具有了最大的confidence(事實上,根據margin的定義,準確來說,是對」對不confidence的數據具有了最大的confidence「)。如上圖所示,我們可以看到 超平面兩邊的那個 gap 分別對應的兩條平行的線(在高維空間中也應該是兩個超平面)上有一些點,顯然兩個超平面上都會有點存在,否則我們就可以進一步擴大 gap ,也就是增大 γ \gamma 的值了。這些點呢,就叫做 support vector .

參考鏈接:
支持向量機(十分優秀)