支持向量機(jī)基本概念
支持向量機(jī)的基本想法:
從幾何角度静袖,對(duì)于線性可分?jǐn)?shù)據(jù)集,支持向量機(jī)就是找位于兩類訓(xùn)練樣本"正中間"(或者說找距離正負(fù)樣本都最遠(yuǎn))的超平面俊扭,相比于感知機(jī)队橙,其解是唯一的,且不偏不倚萨惑,泛化性能更好(原因是這個(gè)超平面對(duì)訓(xùn)練樣本局部擾動(dòng)的"容忍性“最好捐康。)。如下圖庸蔼,最粗的那條直線解总。
n維超平面有幾個(gè)特性:(超平面,其中w和x的維度相同)
超平面方程不唯一
法向量w和位移項(xiàng)b確定一個(gè)唯一超平面
法向量w垂直于超平面(縮放w,b時(shí),若縮放倍數(shù)為負(fù)數(shù)會(huì)改變法向量方向)
法向量w指向的那一半空間為正空間姐仅,另一半為負(fù)空間
任意點(diǎn)x到超平面的距離公式為
幾何間隔:
假設(shè)超平面(w,b)能將訓(xùn)練樣本正確分類花枫,即對(duì)于,若,則有若萍嬉,則有w^Tx+b<0乌昔,如下
如圖6.2所示,距離超平面最近的這幾個(gè)訓(xùn)練樣本點(diǎn)使式(6.3)的等號(hào)成立,它們被稱為“支持向量”(support vector)隙疚,兩個(gè)異類支持向量到超平面的距離之和為
被稱為"間隔"
那么到此壤追,支持向量機(jī)的基本概念已經(jīng)解說完畢。
支持向量機(jī)過程
支持向量機(jī)的模型策略就是:給定線性可分?jǐn)?shù)據(jù)集X供屉,支持向量機(jī)模型希望求得數(shù)據(jù)集X關(guān)于超平面的幾何間隔γ達(dá)到最大的那個(gè)超平面行冰,然后套上一個(gè)sign函數(shù)實(shí)現(xiàn)分類功能溺蕉。那如何求w和b?
以下是支持向量機(jī)的優(yōu)化:
支持向量機(jī)的主問題:
欲找到具有"最大間隔" 的劃分超平面悼做,也就是要找到能滿足式(6.3) 中約束的參數(shù)w 和b 疯特, 使得γ 最大,即
顯然,為了最大化間隔,僅需最大化|肛走,這等價(jià)于最小化.于是,式(6.5)可重寫為
這就是支持向量機(jī)(Support Vector Machine,簡稱SVM)的基本型.
支持向量機(jī)的拉格朗日函數(shù)和對(duì)偶函數(shù):
備注:對(duì)偶函數(shù)是拉格朗日函數(shù)的最小值漓雅。而對(duì)偶函數(shù)實(shí)際上是求關(guān)于的最大值。
關(guān)于公式6.11朽色,我們用SMO來解決邻吞。
軟間隔
以上模型是解決線性可分的數(shù)據(jù)集,但實(shí)際中葫男,更多解決線性不可分的數(shù)據(jù)集抱冷,因此我們?cè)试S向量機(jī)在一些樣本犯點(diǎn)錯(cuò)。為此引入了”軟間隔“概念梢褐。如下圖.
從數(shù)學(xué)角度來說旺遮,軟間隔就是允許部分樣本(但要盡可能少〉不滿足下式中的約束條件
因此,可以將必須嚴(yán)格執(zhí)行的約束條件轉(zhuǎn)化為具有一定靈活性的“損失"盈咳,合格的損失函數(shù)要求如下:
(1)當(dāng)滿足約束條件時(shí)耿眉,損失為0
(2)當(dāng)不滿足約束條件時(shí),損失不為0鱼响,
(3)(可選)當(dāng)不滿足約束條件時(shí)跷敬,損失與其違反約束條件的程度成正比
只有滿足以上要求,才能保證在最小化 (min)損失的過程中,保證不滿足約束條件的樣本盡可能的少热押。
于是西傀,我們的優(yōu)化目標(biāo)寫為:
其中C>0是一個(gè)常數(shù), 是“0/1損失函數(shù)”,下面的
C用來調(diào)節(jié)損失的權(quán)重桶癣,顯然當(dāng)C→+oo時(shí)拥褂,會(huì)迫使所有樣本的損失為0,進(jìn)而退化為嚴(yán)格執(zhí)行的約束條件牙寞,退化為硬間隔饺鹃,因此,本式子可以看作支持向量機(jī)的一般化形式。總之间雀,C越大悔详,表示第二項(xiàng)影響值越小,樣本犯錯(cuò)很難惹挟,C越小茄螃,表示第二項(xiàng)影響值越大,更容易允許樣本犯錯(cuò)连锯。
然而非凸归苍、非連續(xù),數(shù)學(xué)性質(zhì)不太好,使得式(6.29)不易直接求解.于是用狱,人們通常用其他一些函數(shù)來代替,稱為“替代損失”(surrogate loss).替代損失函數(shù)一般具有較好的數(shù)學(xué)性質(zhì),如它們通常是凸的連續(xù)函數(shù)且是的上界.圖6.5給出了三種常用的替代損失函數(shù):
若采用hinge損失,則式(6.29)變成
引入松弛變量,上述優(yōu)化問題便和下述優(yōu)化問題等價(jià)吻氧。溺忧,理解損失值
通過拉格朗日乘子法可得到式(6.35)的拉格朗日函數(shù)
其中是拉格朗日乘子.
支持向量回歸
對(duì)樣本(x, y)盯孙,傳統(tǒng)回歸模型通常直接基于模型輸出f(x)與真實(shí)輸出y之間的差別來計(jì)算損失,當(dāng)且僅當(dāng)f(x)與y 完全相同時(shí),損失才為零.
與此不同砸狞,支持向量回歸(Support Vector Regression,簡稱SVR)假設(shè)我們能容忍f(x)與y之間最多有的偏差,即僅當(dāng)f(x)與y之間的差別絕對(duì)值大于時(shí)才計(jì)算損失.如圖6.6所示,這相當(dāng)于以f(x)為中心,構(gòu)建了一個(gè)寬度為2的間隔帶,若訓(xùn)練樣本落入此間隔帶,則認(rèn)為是被預(yù)測正確的.
于是,SVR問題可形式化為