原理
分類學(xué)習(xí)最基本的思想就是基于訓(xùn)練集在樣本空間中找到一個劃分超平面,將不同類別的樣本區(qū)分開窥摄。但是事實(shí)上镶奉,能將訓(xùn)練樣本劃分開的超平面可能有很多,如下圖所示崭放,我們的任務(wù)就是尋找到最優(yōu)的劃分超平面哨苛。
劃分超平面的線性方程可以表達(dá)為:
其中為法向量,決定了超平面的方向币砂;為位移項(xiàng)移国,決定了超平面與原點(diǎn)之間的距離。劃分超平面可由法向量和位移項(xiàng)確定道伟,我們將其記為迹缀。樣本空間中任意點(diǎn)到超平面的的距離可寫為:
假設(shè)劃分超平面能將樣本正確分類使碾,那么即位于超平面兩側(cè)的分別為正例和負(fù)例,即:
我們構(gòu)建如下模型:
其中距離超平面最近的幾個訓(xùn)練點(diǎn)正好使上式等號成立祝懂,它們被稱為“支持向量”support vector
票摇,任意兩個異類支持向量到超平面的距離之和為:
它也被稱為“間隔”margin
。支持向量與間隔的含義如下圖所示:
支持向量機(jī)模型
為了找到合適的劃分超平面使得產(chǎn)生的分類結(jié)果是最魯棒的(即對未見示例的泛化能力最強(qiáng))砚蓬,我們令劃分超平面的“間隔”最大化:
等價于:
參數(shù)求解
對上式使用拉格朗日乘子法可以得到:
對和求偏導(dǎo)為零后:
將求完偏導(dǎo)后的值代入原方程后可以消去和,得到對偶問題:
通過對偶問題解出后矢门,求出和的值即可得到模型:
上述過程需要滿足KKT(Karush-Kuhn-Tucker)
條件,即要求:
從而對于任意的訓(xùn)練樣本總有或者灰蛙。若祟剔,則模型中不會出現(xiàn)該樣本,也就不會對有影響摩梧;若物延,則必然有,所對應(yīng)的樣本點(diǎn)正好在最大間隔邊界上,是一個支持向量仅父。
這說明:訓(xùn)練完成后叛薯,大部分的訓(xùn)練樣本不需要保留,最終模型只與支持向量有關(guān)笙纤。
SMO算法
上面我們得到支持向量機(jī)的對偶問題:
這本身是一個二次規(guī)劃問題耗溜,可以利用通用的二次規(guī)劃算法來求解。但是因?yàn)樵搯栴}的規(guī)模正比于訓(xùn)練樣本數(shù)省容,這會在實(shí)際任務(wù)中造成很大的開銷抖拴。為此人們通過利用問題本身的特性,提出了SMO(Sequential Minimal Optimization)
算法:
SMO算法:基本思路是固定之外的所有參數(shù)腥椒,然后求上的極值城舞。由于存在約束,因此如果固定之外的其他參數(shù)寞酿,那么可直接由其他參數(shù)導(dǎo)出家夺。因此
SMO
每次選擇兩個變量和并固定其他參數(shù),在參數(shù)初始化后不斷執(zhí)行如下兩個步驟直至收斂:
- 選取一對需更新的和
- 固定和以外的其他參數(shù)伐弹,求解規(guī)劃問題獲得更新后的和
核函數(shù)
在前面的推導(dǎo)過程中拉馋,我們假設(shè)訓(xùn)練樣本是線性可分的,即存在一個劃分超平面能將訓(xùn)練樣本正確分類惨好,但在現(xiàn)實(shí)任務(wù)中煌茴,原始樣本空間可能并不存在一個能正確劃分兩類樣本的超平面。如下圖左側(cè)的圖就是非線性可分的日川。
假若我們能將樣本從原始空間映射到一個更高緯度的特征空間蔓腐,使得樣本在該特征空間內(nèi)線性可分,那么支持向量機(jī)就可以繼續(xù)使用龄句。比如下圖右側(cè)的圖就是將原始的二維空間映射到一個合適的三維空間回论,從而找到了合適的劃分超平面散罕。
映射到高維度的支持向量機(jī)模型可以表示為:
其對偶問題是:
其中是樣本和映射到高維空間后的內(nèi)積。直接計(jì)算高維空間的內(nèi)積是比較困難的傀蓉,為了避開這個障礙欧漱,我們可以設(shè)想這么一個函數(shù)在原始樣本空間即可計(jì)算在高維特征空間的內(nèi)積。
最終的模型可以寫成:
上述我們提到的就是核函數(shù)kernel function
葬燎。
我們希望樣本在特征空間中是線性可分的误甚,因此合適的特征空間對支持向量機(jī)的性能至關(guān)重要,然后在不知道特征映射的形式時谱净,我們并不知道什么樣的核函數(shù)是最合適的窑邦,而核函數(shù)也僅是隱式地定義了這個特征空間。因此核函數(shù)的選擇是支持向量機(jī)模型的最大影響因素壕探。
常用的核函數(shù)包括了線性核冈钦、多項(xiàng)式核、高斯核浩蓉、拉普拉斯核和Sigmoid
核等派继。如下表所示:
另外宾袜,不同核函數(shù)經(jīng)過組合后也可形成新的核函數(shù)捻艳,比如:
- 若和為核函數(shù),則對于任意正數(shù)和庆猫,其線性組合也是核函數(shù)
- 若和為核函數(shù)认轨,則核函數(shù)的直積也是核函數(shù)
- 若為核函數(shù),則對于任意函數(shù),也是核函數(shù)
軟間隔與正則化
前面我們討論的支持向量機(jī)模型都是假設(shè)存在一個超平面能將不同類別的訓(xùn)練樣本完全分割開的月培,然而現(xiàn)實(shí)中很難確定合適的核函數(shù)是的訓(xùn)練樣本在特征空間中完全線性可分嘁字。即使恰好找到了某個核函數(shù)使得訓(xùn)練集在特征空間中線性可分,也很難斷定這個結(jié)果不是由過擬合所造成的杉畜。
解決該問題的方法即允許支持向量機(jī)在一些樣本上出錯纪蜒。為此,要引入“軟間隔”soft margin
的概念此叠,如下圖所示:
軟間隔允許某些樣本不滿足約束:
在最大化間隔的時候纯续,不滿足約束的樣本應(yīng)該盡可能的少,于是優(yōu)化目標(biāo)可以改寫為:
其中一個大于0的常數(shù)灭袁,是“0/1”損失函數(shù)猬错,但是該損失函數(shù)數(shù)學(xué)性質(zhì)不佳(非凸,非連續(xù))茸歧,下面我們給出常用的三種替代損失函數(shù):
Reference
[1] 機(jī)器學(xué)習(xí)