1. 程式人生 > >支援向量機原理小結(3)——核方法和非線性支援向量機

支援向量機原理小結(3)——核方法和非線性支援向量機

  前面兩篇部落格對線性支援向量機進行了詳細的講解,但線性SVM對於非線性的資料是無可奈何的。這篇部落格將講一下非線性支援向量機。

1. 核方法

  對SVM有過一定耳聞的人,一定聽說過“核技巧”、“核方法”這些名詞,其實核方法並不是只能應用於SVM,還可以應用於其他地方。現在就來講講核方法是如何處理非線性資料的。

  假設給定如下資料(上面左圖),顯然我們沒法用一條直線將×分開,如果用一個橢圓,將會得到很好的效果。我們希望將這個非線性分類問題變換為線性問題,通過變換後的線性問題的方法求解原來的非線性問題。上圖中,我們可以將左圖的橢圓變換成右圖中的直線,將非線性分類問題變換為線性分類問題。
  假設原空間為

XR2,x=(x(1),x(2))X,新空間為ZR2,z=(z(1),z(2))Z,定義從原空間到新空間的變換為:

z=ϕ(x)=((x(1))2,(x(2))2)經過變換z=ϕ(x),原空間XR2變換為ZZ2,原空間的點相應的變換為新空間中的點,所以原空間的橢圓w1(x(1))2+w2(x(2))2+b=0變換成新空間中的直線w1z(1)+w2z(2)+b
=0
在變換後的新空間裡,直線w1z(1)+w2z(2)+b=0可以將變換後的正類和負類樣本點正確分開。於是,原空間的非線性可分問題就變成了新空間中的線性可分問題。
  總結一下,用線性分類方法求解非線性分類問題分為兩步:首先使用一個變換將原空間的資料對映到新空間; 然後再新空間裡用線性分類學習方法從訓練資料中學習分類模型。
   核技巧就屬於這樣的方法,應用到SVM上面的基本想法就是通過一個非線性變換ϕ(x)將輸入空間(歐式空間或離散集合)對應於一個特徵空間(希爾伯特空間),使得輸入空間的超曲面模型對應於特徵空間中的超平面模型。幸運的是,如果原始空間是有限維,即屬性數有限,那麼一定存在一個高維特徵空間使樣本線性可分
。於是在特徵空間中分離超平面所對應的模型可表示為:f(x)=wϕ(x)+b優化目標函式可表示為(約束條件這裡就不寫了):(1)minα12i=1mj=1mαiαjy(i)y(j)(ϕ(x(i))ϕ(x(j)))