基本概念
劃分超平面:通過一個線性方程來分類訓練樣本
支持向量:使劃分超平面的劃分結(jié)果正確的距離超平面最近的訓練樣例
間隔: 兩個異類支持向量到超平面的距離之和
SVM(支持向量機)基本型
如何為這個分類學習器找到一個超平面
按照一貫的先限定模型雨席,再用訓練樣本和算法確定參數(shù)的方法贱迟,我們先為劃分超平面限定一個模型
X是多個不同屬性的值構(gòu)成的向量
W是為每個屬性賦予的權(quán)重值所構(gòu)成的向量
b為位移項藐翎,決定了超平面與原點之間的距離
所以這個超平面可擴展為
在能將訓練樣本分類正確的前提下找到對訓練樣本局部擾動容忍性(最魯棒)的超平面
我們需要運算一個條件極值
當這個超平面使各類訓練樣本集到它的距離之和最大時蔼水,該超平面作為閾值最合適,但為了使樣本被正確分類我們還需要一個約束條件勺择。
樣本空間中任意點到超平面的距離可由平面內(nèi)點到直線的距離公式推廣而來
分母為向量w的模
我們?nèi)藶橐?guī)定被劃分為正類的標志值為1济舆,負類為-1
被劃分正確的訓練樣本滿足
(一個訓練集線性可分)
當我們令
兩個異類支持向量到超平面的距離和
所以該目標超平面滿足條件
為了方便計算,等價于
(svm的基本型)
求解這個基本型可得到滿足條件的參數(shù)w和b奋救,即正確且唯一的模型
如何求解
二次規(guī)劃問題:目標函數(shù)二次項岭参,限制條件一次項
而svm的基本型很明顯就是一個二次規(guī)劃問題反惕,我們采用拉格朗日乘子法求解
因此我們可以得到關系式
把關系式代入原拉格朗日函數(shù)
因此求解原問題就變成了求解對偶問題
而原模型可根據(jù)關系式變形為
由于原問題有不等式約束,所以其對偶問題需要增加KKT條件
顯然演侯,這個條件的解為
觀察剛剛得到的線性模型表達式可知姿染,最終模型僅與支持向量有關。
通用的二次規(guī)劃算法不夠高效秒际,在這里我們
采用SMO:先固定兩個乘子之外的所有參數(shù)悬赏,然后求這兩個乘子上的極值.為什么是兩個而不是一個,因為我們之前計算出 當原函數(shù)值最大時所有乘子和其對應標志值的乘積之和為0娄徊,所以如果每次選擇一個作為變量闽颇,則這個乘子可由其他已經(jīng)被固定的乘子導出。
如何選取這兩個參數(shù)
直觀來看寄锐,KKT 條件違背的程度越大兵多,則 變量更新后可能導致的目標函數(shù)值減幅越大.也就是逼近解的速度越快尖啡,第二個變量應選擇一個使目標函數(shù)值減小最快的變量,但 由于比較各變量所對應的目標函數(shù)值減幅的復雜度過高剩膘,因此 SMO 采用了一 個啟發(fā)式:使選取的兩變量所對應樣本之間的間隔最大. 種直觀的解釋是衅斩,這 樣的兩個變量有很大的差別,與對兩個相似的變量進行更新相比怠褐,對它們進行 更新會帶給目標函數(shù)值更大的變化.
用約束條件
消去其中一個變量畏梆,得到一個關于ai的單變量二次規(guī)劃問題,求解得到ai aj
對于b,我們使用所有樣本求解的平均值(注意這里標志值y只能是1奈懒,-1)所以最終b的表達式為
即可確定目標參數(shù)及超平面線性方程奠涌。
處理非線性問題
如果樣本空間非線性可分,則svm基本型的限制條件不成立
將樣本高維映射可使樣本在這個特征空間內(nèi)線性可分(降維打擊)
例如:
映射后的模型可表示為
例如:
而我們要找的超平面則相應的也從二維變成五維
針對處理非線性問題改造svm基本型
同理可得其對偶問題
為了簡化運算筐赔,我們用核函數(shù)替換
核函數(shù):用一個函數(shù)通過低維的向量值直接計算出高維向量的內(nèi)積 而不需要知道高維向量的具體形態(tài)
核函數(shù)使高維映射又變回低維運算
怎么確定核函數(shù)?
核函數(shù)成立的充要條件:
1.可替換
2.半正定
只要一個對稱函數(shù)所對應的核矩陣半正定铣猩,就能作為核函數(shù)使用
常用的核函數(shù)
軟間隔與正則化
由于在現(xiàn)實任務中往往很難確定合適的核函數(shù)使得訓練樣本在特征空間中線性可分;退一步說即使恰好找到了 某個核函數(shù)使訓練集在特征空間中線性可分,也很難斷定這個貌似線性可分的結(jié)果不是由于過擬合所造成的
所以我們允許支持向量機在一些樣本上出錯.
這種不要求所有樣本被正確分類的向量機形式被稱為軟間隔茴丰,即不滿足約束
因此我們原來構(gòu)造的拉格朗日函數(shù)就不適用达皿,但為了使優(yōu)化目標變?yōu)?在最大化間隔的同時,不滿足約束的樣本也要盡可能少贿肩,我們將原來的條件函數(shù)映射成一個損失函數(shù)峦椰,使其大小與不被正確分類的標志數(shù)量成正比
因此優(yōu)化目標可寫為
顯然,求解該函數(shù)需要綜合考慮間隔大汰规,出錯少兩個條件汤功,分別稱為結(jié)構(gòu)風險(間隔)和經(jīng)驗風險(誤差)
為了易求解,我們通常采用數(shù)學性質(zhì)更好的函數(shù)替代溜哮,稱為"替代損失"
被劃分錯誤的樣本距離超平面越遠 損失函數(shù)的自變量z越小滔金,1-z越大
這個約束條件由損失函數(shù)的定義推導而來
這同樣是一個二次規(guī)劃問題,同理可得到它的對偶問題及KKT條件
由KKT條件用同樣的方法可推出軟間隔支持向量機的 最終模型僅與支持向量有關茂嗓。
同樣用smo求解得到超平面
優(yōu)化目標由間隔大小和誤差程度構(gòu)成餐茵,可寫為更一般的形式
稱為正則化問題
支持向量回歸
假設我們能容忍 f(x) 與 y之間最多有 一定 的偏差,即僅當 f(x) 與 y 之間的差別絕對值大于這個值時才計算損失
用不敏感損失函數(shù)衡量損失程度述吸,SVR 問題可形式化為
引入松弛變量
同樣用拉格朗日乘子法得到對偶問題和其KKT條件
由求偏導得到的關系式可將超平面擴展為
考慮上面提到的非線性可分情況下的特征映射形式忿族,則表示為
總結(jié)
這章討論了在4種情況下如何確定支持向量機
1.硬間隔 即樣本訓練集不允許有誤差
首先確定兩個條件,1)被分類正確2)間隔最大蝌矛,于是得到一個條件極值的運算道批,接著用拉格朗日乘子法得到關系式,變形成對對偶問題的求解入撒,加入KKT條件隆豹,最后用SMO對對偶問題求解。
2.線性不可分 即無法用一個線性模型對訓練樣本進行分類
用高維映射的方法解決這個問題茅逮,將樣本從原始空間映射到一個更高維的特征空間璃赡,使其線性可分簿煌,為了簡化計算我們引入核函數(shù),用以代替高維特征空間中樣本的內(nèi)積鉴吹。只要一個對稱函數(shù)所對應的核矩陣半正定姨伟,就能作為核函數(shù)使用。
3. 軟間隔 即允許部分樣本不滿足約束(不被正確分類)
在這個問題上引入損失函數(shù)以衡量樣本不滿足約束的程度豆励,綜合考慮兩個維度進行優(yōu)化(結(jié)構(gòu)風險和經(jīng)驗風險)夺荒,接著便用和解決硬間隔一樣的推算方法得到軟間隔問題的超平面,將軟間隔的目標優(yōu)化寫為更一般的形式則得到正則化問題良蒸。
4.回歸問題
有別于傳統(tǒng)回歸模型技扼,支持向量回歸假設我們能容忍一定的偏差,在這個偏差之外才被認為錯誤嫩痰,因此在構(gòu)造目標優(yōu)化時引入不敏感損失函數(shù)剿吻。接著又是一樣的推算方法得到SVR的解型,同樣的在考慮特征映射時引入核函數(shù)串纺。