SVM 一氣呵成

閱讀本文前,需要對機器學習有一定的瞭解,本文僅對SVM基本理論做一個梳理。
1 引入
  機器學習一個最根本的任務就是分類,而分類問題中大多數又屬於二分類問題,其最簡單直接的描述方式如下:
  給定一訓練集 T,形如
(xi0,xi1,...,xin;yi)=(Xi;Yi),i=0,1,2,...,m(1)
和一個算法 A, 形如

output=A(input)

當運行output=A(input=T) 後,對於一條測試數據(ti0,ti1,...,tin;?), 我們不知道它屬於什麼類別,A 能回答這條測試數據所屬類別,或者更多時候能給出這條測試數據屬於某個類別的概率。
  爲了能很好的理解SVM,先簡單介紹一下感知機。如果把訓練集用幾何來表示,對於二維訓練(xi0,xi1;yi),i=0,1,2,...,m ,在二維空間中實際上對應一個一個的數據點,只不過每個點有一個標籤的屬性,如圖所示。

如果能找到一條直線L,將二維平面劃分成兩部分,處於上半平面的屬於一種類別,記爲+1類,下半平面的又屬於一種類別,記爲-1類,那麼就說該數據集線性可分。基本的感知機首先假設數據集線性可分,也就是說對於訓練集T,能找到一個n-1 維的空間(也就是n維空間的超平面),將數據集完全劃分開來。然後再去尋找這個超平面,感知機的思想是隻要找到一個超平面即可,拿二維空間來說,爲了找到一條直線劃分訓練集,存在無窮多條直線完成這個任務,那麼,選哪一個好呢?在感知機中,這個超平面直接與最初的參數有關,雖然感知機將線性可分的數據集完全分開了,也就是說訓練誤差可以減小到0,但是它對於未知數據的分類能力未必就好。而機器學習往往需要的就是這種對未知數據的預測能力,而不在於對已知數據的擬合能力。

2 優化模型建立

  基於上述原因,SVM被發展起來,在感知機的基礎上進一步思考,既然已經可以找到一個超平面將線性可分的數據集完全分開,那麼能不能找到一個超平面,它不僅可以將數據集分開,而且對於未知數據的也有較好的預測能力呢?

   答案是肯定的。爲了完成這個目標,我們假設數據點到超平面(ω,b) 的距離表示對此數據點分類表的可信度,距超平面越遠,我們認爲分類的可信度越大,如果某個數據點處於超平面上,那麼可信度爲0,即不能確定該數據點到底屬於哪一類。有了可信度的概念之後,對於一個給定的訓練集T 和超平面(ω,b) ,數據集中存在一個數據點Xi 到超平面的距離是最小的,將這個最小的距離記爲
γ^mini|ωXi+b|||ω||(2)

顯然,如果改變超平面 (ω,b) ,此最小距離必定減小或增大,當然,我們希望通過改變超平面使得這個最小距離增大,因此,基於這樣的考量,SVM的目標函數出爐了,寫成數學形式如下

max(ω,b)mini|ωXi+b|||ω||(3)

當然,上面的優化問題是不能直接優化的。但是我們可以通過等效的數學手段進行處理,使得它變成易於優化的形式。

  首先,|ωXi+b|||ω|| 表示的是幾何距離(如果分母取L2 範數的的話其實就是歐氏距離,在SVM中被稱之爲幾何間隔),其分子|ωXi+b| 表示的是相對距離,上面已經說過,處於上半超平面的數據點被標註爲+1 類,對應的yi=+1,(ωXi+b>=0) ,處於下半超平面的被標註爲1 類,對應的yi=1,(ωXi+b<0) ,那麼,這個相對距離可以統一表示爲yi(ωXi+b) ,這個公式在SVM 中被定義爲函數間隔, 如果某個數據點被超平面(ω,b) 劃分正確,則 必有 yi(ωXi+b)>=0 ,如果某個數據點被超平面(ω,b) 劃分錯誤,則 yi(ωXi+b)<0 ,做此等效處理後,重寫原始優化問題公式如下

max(ω,b)miniyi(ωXi+b)||ω||(4)

  進一步,對於內層的優化min ,當給定超平面(ω,b) 時,其實是在訓練集上的一次遍歷,找到最小的幾何間隔,上面已假設這個最小的相對距離爲γ^ ,那麼min 這個過程可以通過施加約束條件處理掉,具體地,原始優化問題進一步寫作

max(ω,b)γ^||ω||,s.t.yi(ωXi+b)γ^,i=1,2,...,m(5)

這個等效的最優化問題更加容易進行數學處理,不過發現,γ^ 表示數據集對超平面的最小相對距離,它的取值對最優化問題的解並不影響,這樣就可以令 γ^ =1,這樣,問題變得更加簡潔

max(ω,b)1||ω||,s.t.yi(ωXi+b)1,i=1,2,...,m(6)

到了這裏,實際上原始最優化問題的這個等價形式依然不能直接求解,不過,現在只需要簡單的等價變換,就可以讓其變得可以求解,max(ω,b)1||ω|| 可以等價地寫成min(ω,b)12||ω||2 ,這樣,原始最優化問題終於變成了一個可以求解的標準二次優化問題,重新寫作

min(ω,b)12||ω||2s.t.yi(ωXi+b)γ^,i=1,2,,m(7)

藉助於現有的二次規劃求解包,就可以求解該問題,但是當數據規模很大的時候,這個問題還是不易求解,優化時間甚至難以接受。需要繼續處理上述優化問題,使得其更加易於求解。

3

此筆記未完待續…..

不足之處,歡迎批評指正。

reference:

統計學習方法/李航

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章