支持向量機(SVM)原理闡述

支持向量機(Support Vector Machine, SVM)是一種二分類模型。給定訓練集D = {(x1,y1), (x2,y2), ..., (xm,ym)},分類學習的最基本的想法便是找到一個超平面S:,從而將訓練集D的樣本空間中不一樣類別的樣本區分開。html

SVM的模型,由簡至繁地,包括:線性可分支持向量機(linear SVM in linearly separable case)線性支持向量機(linear SVM)以及非線性支持向量機(non-linear SVM)算法

當訓練數據線性可分時,SVM試圖尋找硬間隔最大化(hard margin maximization)的劃分超平面,由於這樣的超平面產生的分類結果是最魯棒的,由此學習的線性分類器稱爲線性可分支持向量機;而當訓練數據近似線性可分時,經過軟間隔最大化(soft margin maximization),也可學習獲得分類器,稱爲線性支持向量機;當數據線性不可分時,則可使用核技巧(kernel methods)以及軟間隔最大化,習得非線性支持向量機。「間隔、」核技巧「等相關概念均將在下文中予以闡述。數組

1、線性可分支持向量機


 

1.1 間隔與支持向量

如前文所述,劃分超平面能夠用線性方程來描述,其中ω爲法向量,b爲位移。因而,劃分超平面能夠由ω和b肯定,記爲(ω, b)。利用高中解析幾何的相關知識容易推算出,樣本空間中任意點到超平面(ω, b)的距離即爲機器學習

因爲若超平面(ω', b')能夠對樣本正確分類,則對於(xi,yi),若yi=+1,則;若yi=-1,則。令函數

則總存在縮放變換ςωω',ςb→b'使得上式成立。由此,定義」支持向量「(support vector)爲知足上式且距離超平面最近的點。兩個異類支持向量到超平面的距離之和被稱爲」間隔「(margin),爲。順便一提,所謂樣本都必須劃分正確的情形稱爲「硬間隔」(hard margin),而「軟間隔」(soft margin)則容許某些樣本不知足學習

SVM的任務是找到」最大間隔「(maximum margin)的劃分超平面。因而,SVM的基本型能夠表達爲優化

進而能夠寫爲.net

值得注意的是,間隔貌似只與ω有關,但事實上,b經過約束隱式地影響着ω的取值,進而對間隔產生影響。orm

1.2 對偶問題與SMO算法

爲求解獲得最大間隔劃分超平面的模型,一種高效的辦法是利用lagrange乘子法獲得SVM基本型的」對偶問題「(dual problem),再利用SMO算法求解。htm

首先,在基本型中,對每條約束添加lagrange乘子,獲得lagrange函數爲

爲取到函數的最值,令L(ω,b,α)對ω和b分別求偏導爲零,獲得

代入L(ω,b,α),消去ω和b,即獲得SVM基本型的對偶問題

且上述過程須要知足KKT條件,即要求

直接用二次規劃算法來求解對偶問題,開銷較大。比較高效的是SMO算法(Sequential Minimal Optimization)

SMO首先初始化參數,而後不斷執行下述步驟直至收斂:

  • 選取一對須要更新的αi和αj
  • 固定αi和αj之外的參數,求解上式得到更新後的αi和αj

最後,由,能夠肯定偏移項b爲

1.3 核函數

若是原始樣本空間中不存在能夠正確劃分樣本的超平面,則能夠將樣本從原始空間映射到更高維的特徵空間,使得樣本在此特徵空間內線性可分。事實上,若原始空間是有限維的,則必定存在一個更高維的空間使樣本線性可分。

令Φ(x)表示將x映射後的特徵向量,則在特徵空間中,劃分超平面對應的模型可表示爲。因而獲得基本型

及其對偶問題

直接計算Φ(xi)TΦ(xj)一般比較困難,爲此,引入」核函數「(kernel function)k(•,•)。設k(xi, xj) = <Φ(xi), Φ(xj)> = Φ(xi)TΦ(xj),則對偶問題能夠重寫爲

求解後即獲得

此展式亦稱爲」支持向量展式「(support vector expansion)

那麼,合適的核函數是否必定存在?什麼樣的核函數能做爲核函數呢?對此,有以下定理:

定理 爲輸入空間,k(•,•)爲定義在上的對稱函數,則k是核函數當且僅當對於任意數據D = {x1,x2,...,xm},」核矩陣「(kernel matrix)K老是半正定的:

書中給出了幾種常見的核函數,見於下表

此外,核函數還能夠經過函數組合獲得:

  • 若k1和k2是核函數,則k1(x,z)k2(x,z)也是核函數;
  • 若k1是核函數,則對於任意函數g(x),k(x,z) = g(x)k1(x,z)g(z)也是核函數。

2、線性支持向量機


2.1 軟間隔與正則化

如前文提到的,而「軟間隔」容許某些樣本不知足。儘管如此,仍是但願不知足約束的樣本儘量少。因而,優化目標能夠改寫爲

其中,C>0是常數,是「0/1損失函數」

爲了使得優化目標更易於求解,引入一些數學性質更好的函數來替代,成爲「替代損失」(surrogate loss)。替代損失函數一般是凸的、連續的,且是的上界。下面列出了一些經常使用的替代損失函數:

  • hinge損失:

     

  • 指數損失(exponential loss):

     

  • 對率損失(logistic loss):

     

例如,若是採用hinge損失,則優化目標變爲

進而引入「鬆弛變量」(slcak variable)ξi≥0。每一個樣本都對應一個鬆弛變量,用以表徵該樣本不知足約束的程度。由此,上式能夠重寫爲

 

此即爲常見的「軟間隔支持向量機」,亦即「線性支持向量機」

相似線性可分支持向量機的求解,首先經過lagrange乘子法獲得lagrange函數

其中是lagrange乘子。對ω,b,ξi分別求偏導爲零,獲得

代入原式即獲得對偶問題

且上述過程知足KKT條件

值得注意的是,SVM與對率迴歸的優化目標相近。好比,若將對率損失做爲替代損失函數帶入,則幾乎就獲得對率迴歸模型。

不過,與對率迴歸模型不一樣的是,SVM不具備機率意義。對率迴歸可直接用於多分類任務,而SVM則須要推廣。另外一方面,因爲hinge損失有一塊「平坦的」零區域,使得SVM的解具備稀疏性,而對率迴歸的解則依賴更多的訓練樣本,預測開銷更大。

用不一樣函數做爲替代損失函數獲得的學習模型的性質與替代函數直接相關,但這些模型具備一個共性:即優化目標中,第一項用來描述劃分超平面的「間隔」大小,另外一項則用來表述訓練集上的偏差。因而,更通常的形式可寫爲

其中Ω(ƒ)稱爲「結構風險」(structural risk),用於描述模型自身的一些性質;成爲「經驗風險」(empirical risk),用於描述與訓練集的契合程度。上述形式也可稱爲「正則化」(regularization)問題,其中Ω(ƒ)爲正則化項,C爲正則化常數,而Lp範數(norm)爲經常使用的正則化項。好比,L2範數傾向於非零份量個數儘可能稠密;而L0和L1範數傾向非零份量個數儘可能少。

2.2 支持向量迴歸

首先回顧一下回歸問題:給定訓練樣本D = {(x1,y1), (x2,y2), ..., (xm,ym)},但願學得一個形如的模型,使得ƒ(x)與y儘量接近,ω和b是待肯定的模型參數。基於ƒ(x)與y的差異計算損失,當且僅當ƒ(x)與y徹底相同時,損失才爲0。

與傳統迴歸模型不一樣,「支持向量迴歸」(Support Vector Regression, SVR)假設咱們能容忍ƒ(x)與y之間最多有ε的誤差。因而,SVR問題能夠形式化爲

C爲正則化常數,爲ε-不敏感損失(ε-insensitive loss)函數

再引入鬆弛變量,將優化目標重寫爲

一樣地,用lagrange乘子法,能夠獲得lagrange函數

 

偏導置零求解獲得對偶問題

SVR的解形如

以及相應的KKT條件

其中,知足的樣本即爲SVR的支持向量。一樣地,選取多個知足0<αi<C的樣本求平均值解得b。

考慮特徵映射,則利用核函數k(xi,xj)=Φ(xi)TΦ(xj),SVR表示爲

2.3 核方法

從SVM和SVR的解的形式不難看出,若不考慮偏移項b,則其學習獲得的模型總能表示成核函數k(x,xi)的線性組合。事實上,對核函數,有下述「表示定理」(representer theorem)

表示定理  爲核函數k對應的再生希爾伯特空間表示空間中關於h的範數,對於任意單調遞增函數Ω: [0,∞)→和任意非負損失函數→[0,∞),優化問題

的解總能夠寫爲

所謂「核方法」(kernel methods),就是人們發展出的一系列基於核函數的學習方法。其中最多見的,就是經過引用核函數——「核化」——來將線性學習器拓展爲非線性學習器。

下面以線性判別分析爲例,介紹由核方法獲得的分線性拓展,「核線性判別分析」(Kernelized Linear Discriminant Analysis, KLDA)

設映射將樣本映射到特徵空間。線性判別分析在中執行,以求得。相似於在前一篇博文『機器學習中的線性模型』提到的,最大化目標爲

令Xi表示第i(i=0,1)類樣本的集合,其樣本數爲mi;總樣本數m=m0+m1。則第i類樣本在特徵空間中的均值爲

因而,類間散度矩陣和類內散度矩陣的計算公式以下

將J(ω)做爲損失函數,再令Ω≡0,由表示定理,h(x)可寫爲

因而

K爲核函數k對應的核矩陣,1i爲第i類樣本的指示向量(即1i的第j個份量爲1當且僅當xj屬於Xi,不然爲0)。再令

因而,KLDA的優化目標即等價爲

這樣以來,即使映射Φ的具體形式難以知道,只要使用線性判別分析便可求解獲得α,進而能夠由h(x)的表示定理表達式獲得投影函數h(x)。

相關文章
相關標籤/搜索