大數(shù)據(jù)經(jīng)典算法解析(3)一SVM算法

姓名:崔升? ? 學(xué)號:14020120005

轉(zhuǎn)載自:http://www.cnblogs.com/en-heng/p/5965438.html

【嵌牛導(dǎo)讀】:SVM(Support Vector Machines)是分類算法中應(yīng)用廣泛、效果不錯的一類。《統(tǒng)計學(xué)習(xí)方法》對SVM的數(shù)學(xué)原理做了詳細(xì)推導(dǎo)與論述,本文僅做整理。由簡至繁SVM可分類為三類:線性可分(linear SVM in linearly separable case)的線性SVM、線性不可分的線性SVM、非線性(nonlinear)SVM。

【嵌牛鼻子】:經(jīng)典大數(shù)據(jù)算法之SVM簡單介紹

【嵌牛提問】:SVM是一種怎么的算法,三種SVM分別是什么?

【嵌牛正文】:

1. 線性可分

對于二類分類問題,訓(xùn)練集T={(x1,y1),(x2,y2),?,(xN,yN)}T={(x1,y1),(x2,y2),?,(xN,yN)},其類別yi∈{0,1}yi∈{0,1},線性SVM通過學(xué)習(xí)得到分離超平面(hyperplane):

w?x+b=0w?x+b=0

以及相應(yīng)的分類決策函數(shù):

f(x)=sign(w?x+b)f(x)=sign(w?x+b)

有如下圖所示的分離超平面,哪一個超平面的分類效果更好呢?


直觀上,超平面B1B1的分類效果更好一些。將距離分離超平面最近的兩個不同類別的樣本點稱為支持向量(support vector)的,構(gòu)成了兩條平行于分離超平面的長帶,二者之間的距離稱之為margin。顯然,margin更大,則分類正確的確信度更高(與超平面的距離表示分類的確信度,距離越遠(yuǎn)則分類正確的確信度越高)。通過計算容易得到:

margin=2∥w∥margin=2‖w‖

從上圖中可觀察到:margin以外的樣本點對于確定分離超平面沒有貢獻(xiàn),換句話說,SVM是有很重要的訓(xùn)練樣本(支持向量)所確定的。至此,SVM分類問題可描述為在全部分類正確的情況下,最大化2∥w∥2‖w‖(等價于最小化12∥w∥212‖w‖2);線性分類的約束最優(yōu)化問題:

minw,b12|w|2s.t.yi(w?xi+b)?1≥0(1)(2)(1)minw,b12|w|2(2)s.t.yi(w?xi+b)?1≥0

對每一個不等式約束引進(jìn)拉格朗日乘子(Lagrange multiplier)αi≥0,i=1,2,?,Nαi≥0,i=1,2,?,N;構(gòu)造拉格朗日函數(shù)(Lagrange function):

L(w,b,α)=12|w|2?∑i=1Nαi[yi(w?xi+b)?1](3)(3)L(w,b,α)=12|w|2?∑i=1Nαi[yi(w?xi+b)?1]

根據(jù)拉格朗日對偶性,原始的約束最優(yōu)化問題可等價于極大極小的對偶問題:

maxαminw,bL(w,b,α)maxαminw,bL(w,b,α)

將L(w,b,α)L(w,b,α)對w,bw,b求偏導(dǎo)并令其等于0,則

?L?w=w?∑i=1Nαiyixi=0?w=∑i=1Nαiyixi?L?b=∑i=1Nαiyi=0?∑i=1Nαiyi=0?L?w=w?∑i=1Nαiyixi=0?w=∑i=1Nαiyixi?L?b=∑i=1Nαiyi=0?∑i=1Nαiyi=0

將上述式子代入拉格朗日函數(shù)(3)(3)中,對偶問題轉(zhuǎn)為

maxα?12∑i=1N∑j=1Nαiαjyiyj(xi?xj)+∑i=1Nαimaxα?12∑i=1N∑j=1Nαiαjyiyj(xi?xj)+∑i=1Nαi

等價于最優(yōu)化問題:

minαs.t.12∑i=1N∑j=1Nαiαjyiyj(xi?xj)?∑i=1Nαi∑i=1Nαiyi=0αi≥0,i=1,2,?,N(4)(5)(6)(4)minα12∑i=1N∑j=1Nαiαjyiyj(xi?xj)?∑i=1Nαi(5)s.t.∑i=1Nαiyi=0(6)αi≥0,i=1,2,?,N

線性可分是理想情形,大多數(shù)情況下,由于噪聲或特異點等各種原因,訓(xùn)練樣本是線性不可分的。因此,需要更一般化的學(xué)習(xí)算法。

2. 線性不可分

線性不可分意味著有樣本點不滿足約束條件(2)(2),為了解決這個問題,對每個樣本引入一個松弛變量ξi≥0ξi≥0,這樣約束條件變?yōu)椋?/p>

yi(w?xi+b)≥1?ξiyi(w?xi+b)≥1?ξi

目標(biāo)函數(shù)則變?yōu)?/p>

minw,b,ξ12∥w∥2+C∑i=1Nξiminw,b,ξ12‖w‖2+C∑i=1Nξi

其中,CC為懲罰函數(shù),目標(biāo)函數(shù)有兩層含義:

margin盡量大,

誤分類的樣本點計量少

CC為調(diào)節(jié)二者的參數(shù)。通過構(gòu)造拉格朗日函數(shù)并求解偏導(dǎo)(具體推導(dǎo)略去),可得到等價的對偶問題:

minα12∑i=1N∑j=1Nαiαjyiyj(xi?xj)?∑i=1Nαi(7)(7)minα12∑i=1N∑j=1Nαiαjyiyj(xi?xj)?∑i=1Nαi

s.t.∑i=1Nαiyi=00≤αi≤C,i=1,2,?,N(8)(9)(8)s.t.∑i=1Nαiyi=0(9)0≤αi≤C,i=1,2,?,N

與上一節(jié)中線性可分的對偶問題相比,只是約束條件αiαi發(fā)生變化,問題求解思路與之類似。

3. 非線性

對于非線性問題,線性SVM不再適用了,需要非線性SVM來解決了。解決非線性分類問題的思路,通過空間變換??(一般是低維空間映射到高維空間x→?(x)x→?(x))后實現(xiàn)線性可分,在下圖所示的例子中,通過空間變換,將左圖中的橢圓分離面變換成了右圖中直線。


在SVM的等價對偶問題中的目標(biāo)函數(shù)中有樣本點的內(nèi)積xi?xjxi?xj,在空間變換后則是?(xi)??(xj)?(xi)??(xj),由于維數(shù)增加導(dǎo)致內(nèi)積計算成本增加,這時核函數(shù)(kernel function)便派上用場了,將映射后的高維空間內(nèi)積轉(zhuǎn)換成低維空間的函數(shù):

K(x,z)=?(x)??(z)K(x,z)=?(x)??(z)

將其代入一般化的SVM學(xué)習(xí)算法的目標(biāo)函數(shù)(7)(7)中,可得非線性SVM的最優(yōu)化問題:

minαs.t.12∑i=1N∑j=1NαiαjyiyjK(xi,xj)?∑i=1Nαi∑i=1Nαiyi=00≤αi≤C,i=1,2,?,N(10)(11)(12)(10)minα12∑i=1N∑j=1NαiαjyiyjK(xi,xj)?∑i=1Nαi(11)s.t.∑i=1Nαiyi=0(12)0≤αi≤C,i=1,2,?,N

4. 參考資料

[1] 李航,《統(tǒng)計學(xué)習(xí)方法》.

[2] Pang-Ning Tan, Michael Steinbach, Vipin Kumar,Introduction to Data Mining.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容