ai
菌在機器學習十八:支援向量機(linearsvm)中,我們對線性可分svm的模型和損失函式優化做了總結。
在解決線性可分資料集的分類問題時,求得拉格朗日乘子、w、b就得到分離超平面,然後就可以進行分類
最後我們提到了有時候不能線性可分的原因是線性資料集裡面多了少量的異常點,由於這些異常點導致了資料集不能線性可分
本篇就對線性支援向量機如何處理這些異常點的原理方法做乙個總結。
一 linearsvm面臨的問題
有時候本來資料的確是可分的,也就是說可以用 線性分類svm的學習方法來求解,但是卻因為混入了異常點,導致不能線性可分
比如下圖,本來資料是可以按下面的實線來做超平面分離的,可以由於乙個橙色和乙個藍色的異常點導致我們沒法按照線性支援向量機中的方法來分類。
另外一種情況沒有這麼糟糕到不可分,但是會嚴重影響我們模型的泛化**效果
比如下圖,本來如果我們不考慮異常點,svm的超平面應該是下圖中的紅色線所示,但是由於有乙個藍色的異常點,導致我們學習到的超平面是下圖中的粗虛線所示,這樣會嚴重影響我們的分類模型**效果
如何解決這些問題呢?svm引入了軟間隔最大化的方法來解決。
二 linearsvm的軟間隔最大化
回顧下硬間隔最大化的條件:
接著我們再看如何可以軟間隔最大化呢?
svm對訓練集裡面的每個樣本 (xi,yi) 引入了乙個鬆弛變數:
這使函式間隔加上鬆弛變數大於等於1,也就是說:
對比硬間隔最大化,可以看到我們對樣本到超平面的函式距離的要求放鬆了,之前是一定要大於等於1,現在只需要加上乙個大於等於0的鬆弛變數能大於等於1就可以了
當然,鬆弛變數不能白加,這是有成本的,每乙個鬆弛變數ξi, 對應了乙個代價ξi,這個就得到了我們的軟間隔最大化的svm學習條件如下:
這裡,c>0為懲罰引數,可以理解為我們一般回歸和分類問題正則化時候的引數
c越大,對誤分類的懲罰越大,c越小,對誤分類的懲罰越小
也就是說,我們希望
盡量小,誤分類的點盡可能的少
c是協調兩者關係的正則化懲罰係數。在實際應用中,需要調參來選擇。
三 目標函式的優化
和線性可分svm的優化方式類似,我們首先將軟間隔最大化的約束問題用拉格朗日函式轉化為無約束問題如下:
其中μi≥0,αi≥0,均為拉格朗日係數
也就是說,我們現在要優化的目標函式是:
這個優化目標也滿足kkt條件,也就是說,我們可以通過拉格朗日對偶將我們的優化問題轉化為等價的對偶問題來求解如下:
我們可以先求優化函式對於w,b,ξ的極小值, 接著再求拉格朗日乘子α和 μ的極大值
首先我們來求優化函式對於w,b,ξ的極小值,這個可以通過求偏導數求得:
好了,我們可以利用上面的三個式子去消除w和b了:
其中(1)式到(2)式用到了
(2)式到(3)式合併了同類項
(3)式到(4)式用到了範數的定義
(4)式到(5)式用到了上面的
(5)式到(6)式把和樣本無關的wt提前
(6)式到(7)式合併了同類項
(7)式到(8)式把和樣本無關的b提前
(8)式到(9)式繼續用到
(9)式到(10)式用到了向量的轉置。由於常量的轉置是其本身,所有只有向量xi被轉置,
(10)式到(11)式用到了上面的
(11)式到(12)式使用了
的乘法運算法則
(12)式到(13)式僅僅是位置的調整
現在我們看看我們的優化目標的數學形式:
對於這3個式子,我們可以消去μi,只留下αi,也就是說0≤αi≤c同時將優化目標函式變號,求極小值,如下:
僅僅是多了乙個約束條件
我們依然可以通過smo演算法來求上式極小化時對應的α向量就可以求出和w和b了
四 軟間隔最大化時的支援向量
在硬間隔最大化時,支援向量比較簡單,就是滿足函式間隔 γ′>1(舉例取1,你也可以選擇其他數值)
而函式間隔定義如下:
根據kkt條件中的對偶互補條件:
如果則有
即點在支援向量上,否則如果
則有即樣本在支援向量上或者已經被正確分類
在軟間隔最大化時,則稍微複雜一些,因為我們對每個樣本 (xi,yi) 引入了鬆弛變數 ξi
我們從下圖來研究軟間隔最大化時支援向量的情況,第i個點到對應類別支援向量的距離為
根據軟間隔最大化時kkt條件中的對偶互補條件
a) 如果α=0,那麼yi(wtxi+b)−1≥0,即樣本在支援向量上或者已經被正確分類。如圖中所有遠離支援向量的點
b) 如果0≤α≤c,那麼ξi=0,yi(wtxi+b)−1=0,即點在支援向量上。如圖中在虛線支援向量上的點
c) 如果α=c,說明這是乙個可能比較異常的點,需要檢查此時ξi
i)如果0≤ξi≤1,那麼點被正確分類,但是卻在超平面和自己類別的支援向量之間。如圖中的樣本2和4.
ii)如果ξi=1,那麼點在分離超平面上,無法被正確分類。
iii)如果ξi>1,那麼點在超平面的另一側,也就是說,這個點不能被正常分類。如圖中的樣本1和3.
linearsvm的演算法過程總結
這裡我們對軟間隔最大化時的線性可分svm的演算法過程做乙個總結
輸入是線性可分的m個樣本
其中x為n維特徵向量。y為二元輸出,值為1,或者-1
輸出是分離超平面的引數和w∗和b∗和分類決策函式。
演算法過程如下:
1)選擇乙個懲罰係數c>0, 構造約束優化問題
2)用smo演算法求出上式最小時對應的α向量的值α∗向量
3)計算
4)找出所有的s個支援向量,即滿足
對應的樣本(xs,ys),通過
計算出每個支援向量(xx,ys)對應的bs∗,計算出這些
所有的bs∗對應的平均值即為最終的
這樣最終的分類超平面為:w∗∙x+b∗=0,最終的分類決策函式為:ai菌
這裡的模板都是通過設定布局背景來組合搭配的,需要調出布局設定來更換背景,使用定位功能可以改變大小
不失初心,不忘初衷
ai玩轉智慧型
白話機器學習演算法(十九)CART演算法
cart classification and regression tree 分類與回歸樹演算法 前面說的決策樹就是分類樹,分類樹是一種對空間的劃分方法,將輸入空間 特徵空間 按照屬性的取值範圍劃分為若干個不相交的區域 這裡的cart是一種二叉樹 還是三個步驟 1 屬性選擇 2 生成樹 劃分 3 ...
十九 機器學習之路 樸素貝葉斯分類
最近在看周志華 機器學習 的貝葉斯分類器這一章時覺得書上講的很難理解,很多專業術語和符號搞的我頭大,大學時候概率論我還是學的還是不錯的,無奈網上搜了搜前輩的部落格,看到一篇把樸素貝葉斯講的很簡單的文章,頓時豁然開朗。關於貝葉斯分類且聽我慢慢道來 上圖可以很好的說明了貝葉斯的公式,p a b 就是在b...
WIX 學習(十九)
如何獲取安裝時的安裝日誌 使用上面的命令列就可以獲取到安裝日誌 如果需要通過 新增刪除程式 開啟安裝日誌,請參考 msdn中的描述 下面內容 啟用 windows installer 日誌記錄 若要自己啟用 windows installer 日誌記錄,請使用 regedit.exe 開啟登錄檔,然...