五、核函式
如果我們的正常的樣本分佈如下圖左邊所示,之所以說是正常的指的是,不是上面說的那樣由於某些頑固的離群點導致的線性不可分。它是真的線性不可分。樣本本身的分布就是這樣的,如果也像樣本那樣,通過鬆弛變數硬拉一條線性分類邊界出來,很明顯這條分類面會非常糟糕。那怎麼辦呢?svm對線性可分資料有效,對不可分的有何應對良策呢?是核方法(kernel trick)大展身手的時候了。
如上圖右,如果我們可以把我們的原始樣本點通過乙個變換,變換到另乙個特徵空間,在這個特徵空間上是線性可分的,那麼上面的svm就可以輕易工作了。也就是說,對於不可分的資料,現在我們要做兩個工作:
1)首先使用乙個非線性對映φ(x)將全部原始資料x變換到另乙個特徵空間,在這個空間中,樣本變得線性可分了;
2)然後在特徵空間中使用svm進行學習分類。
好了,第二個工作沒什麼好說的,和前面的一樣。那第乙個粗重活由誰來做呢?我們怎麼知道哪個變換才可以將我們的資料對映為線性可分呢?資料維度那麼大,我們又看不到。另外,這個變換會不會使第二步的優化變得複雜,計算量更大呢?對於第乙個問題,有個著名的cover定理:將複雜的模式分類問題非線性地投射到高維空間將比投射到低維空間更可能是線性可分的。ok,那容易了,我們就要找到乙個所有樣本對映到更高維的空間的對映。對不起,其實要找到這個對映函式很難。但是,支援向量機並沒有直接尋找和計算這種複雜的非線性變換,而是很智慧型的通過了一種巧妙的迂迴方法來間接實現這種變換。它就是核函式,不僅具備這種超能力,同時又不會增加太多計算量的兩全其美的方法。我們可以回頭看看上面svm的優化問題:
可以看到,對樣本x的利用,只是計算第i和第j兩個樣本的內積就可以了。
對於分類決策函式,也是計算兩個樣本的內積。也就是說,訓練svm和使用svm都用到了樣本間的內積,而且只用到內積。那如果我們可以找到一種方法來計算兩個樣本對映到高維空間後的內積的值就可以了。核函式就是完成這偉大的使命的:
k(xi, xj
)=φ(xi
)t φ(xj
)也就是兩個樣本xi
和xj對應的高維空間的內積φ(xi
)t φ(xj
)通過乙個核函式k(xi, xj
)計算得到。而不用知道這個變換φ(x)是何許人也。而且這個核函式計算很簡單,常用的一般是徑向基rbf函式:
這時候,我們的優化的對偶問題就變成了:
和之前的優化問題唯一的不同只是樣本的內積需要用核函式替代而已。優化過程沒有任何差別。而決策函式變成了:
也就是新來的樣本x和我們的所有訓練樣本計算核函式即可。需要注意的是,因為大部分樣本的拉格朗日因子αi
都是0,所以其實我們只需要計算少量的訓練樣本和新來的樣本的核函式,然後求和取符號即可完成對新來樣本x的分類了。支援向量機的決策過程也可以看做一種相似性比較的過程。首先,輸入樣本與一系列模板樣本進行相似性比較,模板樣本就是訓練過程決定的支援向量,而採用的相似性度量就是核函式。樣本與各支援向量比較後的得分進行加權後求和,權值就是訓練時得到的各支援向量的係數αi
和類別標號的成績。最後根據加權求和值大小來進行決策。而採用不同的核函式,就相當於採用不同的相似度的衡量方法。
從計算的角度,不管φ(x)變換的空間維度有多高,甚至是無限維(函式就是無限維的),這個空間的線性支援向量機的求解都可以在原空間通過核函式進行,這樣就可以避免了高維空間裡的計算,而計算核函式的複雜度和計算原始樣本內積的複雜度沒有實質性的增加。
總結一下:支援向量機的基本思想:
首先通過非線性變換將輸入空間變換到乙個高維的空間,然後在這個新的空間求最優分類麵即最大間隔分類面,而這種非線性變換是通過定義適當的內積核函式來實現的。svm實際上是根據統計學習理論依照結構風險最小化的原則提出的,要求實現兩個目的:
1)兩類問題能夠分開(經驗風險最小)
2)margin最大化(風險上界最小)既是在保證風險最小的子集中選擇經驗風險最小的函式。
支援向量機(SVM)演算法
支援向量機 support vector machine 是一種分類演算法,通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,即支...
支援向量機SVM(一)
支援向量機,因其英文名為support vector machine,故一般簡稱svm,是90年代中期發展起來的基於統計學習理論的一種機器學習方法,它是一種二類分類模型,其基本模型定義為特徵空間上的間隔較大的線性分類器,其學習策略便是間隔較大化,最終可轉化為乙個凸二次規劃問題的求解,從而達到在統計樣...
分類演算法SVM(支援向量機
支援向量機 support vector machine svm 的主要思想是 建立乙個最優決策超平面,使得該平面兩側距離該平面最近的兩類樣本之間的距離最大化,從而對分類問題提供良好的泛化能力。對於乙個多維的樣本集,系統隨機產生乙個超平面並不斷移動,對樣本進行分類,直到訓練樣本中屬於不同類別的樣本點...