1. 程式人生 > >詳解SVM系列(三):線性可分支援向量機與硬間隔最大化

詳解SVM系列(三):線性可分支援向量機與硬間隔最大化

支援向量機概覽(support vector machines SVM)

支援向量機是一種二類分類模型。它的基本模型是定義在特徵空間上的間隔最大(間隔最大區別於感知機)線性分類器(核函式可以用非線性的分類)。

支援向量機的學習策略是間隔最大化可形式化為一個求解凸二次規劃的問題。
等價於正則化的合頁損失函式的最小化問題

支援向量機的學習演算法是求解凸二次規劃的最優化演算法。

支援向量機學習方法包含構建由簡到繁的模型:
1)線性可分支援向量機
2)線性支援向量機
3)非線性支援向量機

1)當訓練資料線性可分時,通過硬間隔最大化,學習一個線性的分類器,即線性可分支援向量機,又稱硬間隔支援向量機。

2)當訓練資料近似線性可分時,通過軟間隔最大化,也學習一個線性分類器,即線性支援向量機,又稱為軟間隔支援向量機

3)當訓練資料線性不可分時,通過使用核技巧及軟間隔最大化,學習非線性支援向量機。

存在多個
在感知機那一節我們知道,存在多個劃分超平面將兩類訓練樣本分開,我們應該努力去找到哪一個呢?
直觀上看,應該去找位於兩類訓練樣本的“正中間”的劃分超平面,即上圖中的紅色的那個。
因為該劃分超平面對訓練樣本的區域性擾動的“容忍”性最好。
例如,由於訓練集的侷限性或噪聲的影響,訓練集外的樣本可能比上圖中的訓練樣本更接近兩個類的分隔面,這將使得許多分割超平面出現錯誤,而紅色的超平面受影響更小。換言之,這個劃分超平面所產生的分類結果是最魯棒的,對未見例項的泛化能力最強。

線性可分支援向量機與硬間隔最大化

一般的,當訓練資料集線性可分時,存在無窮個分離超平面可將兩類資料正確分開。
感知機利用誤分類最小的策略,求得分離超平面,不過這時的解有無數個。
線性可分支援向量機利用間隔最大化求解最優分隔超平面,這時,解釋唯一的。

定義:線性可分支援向量機
給定線性可分訓練資料集,通過間隔最大化或等價的求解相應的凸二次規劃問題學習得到的分離超平面為:
w x

+ b = 0 w^*x+b^*=0 以及相應的分類決策函式 f ( x ) = s i g n ( w x + b ) f(x)=sign(w^*x+b^*)
稱為線性可分支援向量機

函式間隔與幾何間隔:
1)為什麼要引入函式間隔與幾何間隔?

一般的來說,一個點離分離超平面的遠近可以表示分類預測的確信程度。

1)在超平面 w x + b = 0 wx+b=0 確定的情況下, w x + b |wx+b| 能夠相對的表示點x距離超平面的遠近。
2) w x + b wx+b 的符號與類標記y的符號是否一致能夠表示分類是否正確。

所以,可用 y ( w x + b ) y(wx+b) 來表示分類的正確性和確信度,這就是函式間隔的概念

定義:函式間隔對於給定的訓練集 T T 和超平面 w b (w,b) ,定義超平面關於樣本點的函式間隔為:
γ i = y i ( w x i + b ) γ_i=y_i(wx_i+b)
定義超平面 ( w , b ) (w,b) 關於訓練資料集 T T 的函式間隔為超平面關於 T T 中所有樣本點 ( x i , y i ) (x_i,y_i) 的函式間隔之最小值。
γ = m i n γ i = m i n y i ( w x i + b ) γ=minγ_i=miny_i(wx_i+b)

每一個樣本點都有一個函式間隔,但是定義的超平面關於訓練集的函式間隔是所有樣本點的函式間隔的最小值。

函式間隔的意義:函式間隔可以表示分類預測的正確性(符號)及確信度(大小)
函式間隔的缺陷:只要成比例的改變w和b,比如將他們改為2w和2b,超平面並沒有改變,但函式間隔變成原來的2倍、

以上兩點可以啟發我們,可以對分離超平面的法向量w加某些約束,如規範化||w||=1,使得間隔是固定的,這時函式間隔稱為幾何間隔。

一般的,當樣本點 ( x i , y i ) (x_i,y_i) 被超平面 ( w , b ) (w,b) 正確分類時,點 x i x_i 與超平面 ( w , b ) (w,b) 的距離是:
γ i = y i ( w x i + b w ) γ_i=y_i(\frac{wx_i+b}{||w||}) 由這一事實匯出幾何間隔的概念。

定義:幾何間隔 對於給定的訓練資料集 T T 和超平面 ( w , b ) (w,b) ,定義超平面 ( w , b ) (w,b) 關於樣本點 ( x i , y i ) (x_i,y_i) 的幾何間隔為:
γ i = y i ( w x i + b w ) γ_i=y_i(\frac{wx_i+b}{||w||})

定義超平面關於訓練資料集的幾何間隔為超平面關於 T T 中所有樣本點 ( x i , y i ) (x_i,y_i) 的幾何間隔之最小值,
γ = m i n γ i γ=minγ_i
超平面 ( w , b ) (w,b) 關於樣本點 ( x i , y i ) (x_i,y_i) 的幾何間隔一般是例項點到超平面的帶符號的距離,當樣本點被超平面正確分類時就是例項點到超平面距離。

間隔最大化

支援向量機學習的基本想法是求解能夠正確劃分訓練資料集並且幾何間隔最大的分離超平面。

對線性可分的訓練資料集而言,線性可分分離超平面有無窮多個(等價於感知機),但是幾何間隔最大的分離超平面是唯一的。

間隔最大化的直觀解釋:對訓練資料集找到幾何間隔最大的超平面意味著以充分大的確信度對訓練資料進行分類。也就是說,不僅將正負例項點分開,而且對最難分的例項點(離超平面最近的點)也有足夠大的確信度將他們分開。這樣的超平面應該對未知的新例項有很好的分類預測能力。

最大間隔分離超平面:
如何求得一個幾何間隔最大的分離超平面?

這個問題可以表示為下面的約束最優化問題:
max w , b γ \max\limits_{w,b}γ
s . t s.t : y i ( w x i + b w ) γ y_i(\frac{wx_i+b}{||w||})≥γ i=1,2……N

1)即希望最大化超平面 ( w , b ) (w,b) 關於訓練資料集的幾何間隔 γ γ
2)約束條件表示的是超平面 ( w , b ) (w,b) 關於每一個訓練樣本點的幾何間隔至少是 γ γ

考慮幾何間隔與函式間隔的關係式,可將上面的問題轉換為下面