機器學習第六章支持向量機學習筆記

基本概念

劃分超平面:通過一個線性方程來分類訓練樣本

支持向量:使劃分超平面的劃分結(jié)果正確的距離超平面最近的訓練樣例

間隔: 兩個異類支持向量到超平面的距離之和


SVM(支持向量機)基本型


如何為這個分類學習器找到一個超平面


按照一貫的先限定模型,再用訓練樣本和算法確定參數(shù)的方法,我們先為劃分超平面限定一個模型


X是多個不同屬性的值構成的向量

W是為每個屬性賦予的權重值所構成的向量

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é)果不是由于過擬合所造成的

所以我們允許支持向量機在一些樣本上出錯.


這種不要求所有樣本被正確分類的向量機形式被稱為軟間隔,即不滿足約束


因此我們原來構造的拉格朗日函數(shù)就不適用,但為了使優(yōu)化目標變?yōu)?在最大化間隔的同時,不滿足約束的樣本也要盡可能少,我們將原來的條件函數(shù)映射成一個損失函數(shù),使其大小與不被正確分類的標志數(shù)量成正比

因此優(yōu)化目標可寫為


顯然,求解該函數(shù)需要綜合考慮間隔大,出錯少兩個條件,分別稱為結(jié)構風險(間隔)和經(jīng)驗風險(誤差)

為了易求解,我們通常采用數(shù)學性質(zhì)更好的函數(shù)替代,稱為"替代損失"


被劃分錯誤的樣本距離超平面越遠 損失函數(shù)的自變量z越小,1-z越大



這個約束條件由損失函數(shù)的定義推導而來

這同樣是一個二次規(guī)劃問題,同理可得到它的對偶問題及KKT條件



由KKT條件用同樣的方法可推出軟間隔支持向量機的 最終模型僅與支持向量有關。

同樣用smo求解得到超平面

優(yō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é)構風險和經(jīng)驗風險),接著便用和解決硬間隔一樣的推算方法得到軟間隔問題的超平面,將軟間隔的目標優(yōu)化寫為更一般的形式則得到正則化問題。

4.回歸問題

有別于傳統(tǒng)回歸模型,支持向量回歸假設我們能容忍一定的偏差,在這個偏差之外才被認為錯誤,因此在構造目標優(yōu)化時引入不敏感損失函數(shù)。接著又是一樣的推算方法得到SVR的解型,同樣的在考慮特征映射時引入核函數(shù)。

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

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