【SVM】為什麼RBF核函式可以使任何二分類資料線性可分
RBF(Radial Basis Function)核函式
這個函式和高斯分佈函式很像,只是少了前面那個係數項。這意味著RBF核函式只是高斯分佈函式縱向等比放縮的結果,很多性質可以直接搬過來用,比如準則。
我們可以很容易地看出幾個性質:
- 函式最大值為1
- 在直角座標系中,它和高斯分佈函式一樣是鐘形曲線,且sigma越小,圖形越“痩”
##在運用SVM時,如何使用RBF核函式使任何二分類資料線性可分
從RBF的函式形式來看,這是一個關於兩點距離的函式:距離越遠,值越小;越小,函式值在遠離中心點時下降地越快。如果我們讓小至0(趨於0),這樣,函式就變成了只有在兩個x相等時取1,否則取0。
這樣做有什麼意義呢?讓我慢慢道來。
先回憶一下SVM中核函式是做什麼的。
如果原有資料不是線性可分的,則可以通過核函式將原有資料對映到高維空間,使其線性可分,就像下圖:
但是,如果對映之後的維度過高,由現有空間下的向量對映到高維空間下的對應向量的計算非常耗時(如果對映之後為無窮維,則根本不能實現),是不可取的。然而我們要的只是高維空間下對應的內積結果,如果能從低維空間下的向量形式,外加一些計算量較小的函式可以間接計算出高維空間下的內積結果,豈不美哉。這就是核函式乾的事情。一個核函式定義了一個空間對映。
那麼核函式如何選擇?
我們之所以要從低維度對映到高維度,就是為了使資料線性可分。但這個對映方法的選擇很重要。我們根據經驗認為,從低維度對映到高維度後,線性可分的可能性比較大,比如上面那副圖。然而這只是經驗而已,很多時候我們根本不知道對映後在高維下資料是什麼樣子的。一般來說我們是通過驗證的方法來確定哪種對映比較好。
如果對映到高維後,仍然線性不可分怎麼辦?
答案是再向高維對映。但是就和上面說的一樣,高維下資料形式幾乎不可預測。這其實就是在看運氣。
如果對映到無窮維度空間呢?
在無窮維度空間下,每一個維度體現了資料的一個特徵。上哪找這麼多特徵呢?其實很簡單,如果原有空間下點的可取值為無限的話(比如歐幾里得空間),那麼資料點到所有點的距離可以構成該點的無窮多個特徵,也就是說,我們把資料對映到了無限維度的空間中了。這樣對映的話,內積計算起來很麻煩,而且可能為無窮,於是考慮一種更為稀疏的對映方式:如果資料點到第i個點的距離為0(即該資料點本身),則第i維取1,否則取0。按照這個方式對映後,兩個向量內積,當且僅當同一維特徵取1時得到的是1,否則為0
也就是說,對應於對映前空間,兩個向量如果相等,得到的高維空間下的內積結果為1,否則為0。這下你們應該發現了,這不正是**取0時的RBF函式**嗎?換句話說,我們現在同時得到了核函式形式、對映方法,對映之後的形式。
#####下面我來證明無論什麼資料,用這個方法對映後都是線性可分的。(這裡沒用什麼深奧的數學方法,非數學系的我也表示不會什麼深奧的方法。。。。)
首先,如果他是線性可分的,那麼必定存在一個超平面可以資料集分開,我們只要證明無論什麼樣的資料,在應對映之後都可以找相應的到和使兩類分開。如果用感知機來表示,的值和(為資料的標籤,值為1或-1,分別代表兩類)同號。其實只要取,取0就行了,如下所示:
既然求出了和,則證明了一定線性可分。
當然上面只是一種極限的情況,實際使用時,如果要使任何資料線性可分,只要把RBF函式的改的足夠小就行了。這或許也是RBF核函式在SVM中這麼常用的原因了。
##弊端
雖然用上面的確實可以使任何資料變得線性可分,但是卻也導致了嚴重的過擬合。所以一般來說,不能過小。