線性判別函數(shù)
給定若干n維度空間的樣本點(diǎn),我們希望使用超平面將不同類別的點(diǎn)劃分開(kāi)來(lái)。如下圖,考慮兩類的情況,我們需要一個(gè)超平面將兩類數(shù)據(jù)劃分開(kāi),其由
確定,稱
為線性判別函數(shù)。

的表達(dá)式如下
間隔最大化
幾何間隔是指某個(gè)樣本到分類界面
的距離
定義樣本集與分類界面之間的幾何間隔為,樣本集中所有樣本與分類界面之間幾何間隔的最小值。
而SVM的目標(biāo)是找到一個(gè)可以正確劃分樣本點(diǎn),且與樣本集幾何間隔最大的超平面。如下圖,稱距離最優(yōu)分類界面最近的這些訓(xùn)練樣本為支持向量(support vector)。

可以看出,最優(yōu)分類界面完全由支持向量決定。設(shè)支持向量,那么可以直接通過(guò)最大化間隔,求得
和
。
但是支持向量正是通過(guò)最優(yōu)分類界面得到的,所以這樣通過(guò)支持向量求最優(yōu)分界面的方法時(shí)行不通的。
目標(biāo)函數(shù)
記樣本的類別標(biāo)記為
,那么
意味著分類界面正確劃分了樣本
。不妨通過(guò)
表示樣本
離分類界面保持一定的距離,這個(gè)距離等于
這時(shí),最大化幾何間隔,等價(jià)于
按照這個(gè)思路,我們可以定義如下目標(biāo)函數(shù)
Kuhn-Tucker構(gòu)造法
上面的目標(biāo)函數(shù)是一個(gè)有約束最優(yōu)化問(wèn)題,我們首先需要將其轉(zhuǎn)化為一個(gè)無(wú)約束最優(yōu)問(wèn)題。
使用拉格朗日乘子法,可以得到相應(yīng)的拉格朗日函數(shù)
分別對(duì)參數(shù)求偏導(dǎo):
令偏導(dǎo)為零,得
將上面第一個(gè)式子帶入到拉格朗日函數(shù)中得
因此原問(wèn)題的對(duì)偶問(wèn)題是
這是一個(gè)二次規(guī)劃問(wèn)題。但是該問(wèn)題的計(jì)算規(guī)模正比于訓(xùn)練樣本數(shù),這會(huì)在實(shí)際任務(wù)中造成很大的開(kāi)銷。為了解決這個(gè)問(wèn)題,人們提出了許多高效的算法,具有代表性的是SMO。這里不進(jìn)行介紹。
假設(shè)通過(guò)解對(duì)偶問(wèn)題得到了,那么可通過(guò)下式得到權(quán)向量
而對(duì)于支持向量中的樣本,有
那么那些樣本點(diǎn)是支持向量呢?那些滿足的樣本
。這里不進(jìn)行具體的推導(dǎo)。
松弛變量
當(dāng)訓(xùn)練樣本是線性不可分時(shí),目標(biāo)函數(shù)是無(wú)解的。這時(shí),可以通過(guò)引入松弛變量,對(duì)某些對(duì)樣本妥協(xié),也就是允許某些樣本被分錯(cuò)。
具體來(lái)說(shuō),改寫(xiě)目標(biāo)函數(shù)
其中,為懲罰參數(shù),需要人工設(shè)置。C值越大對(duì)誤分類的懲罰越大。
對(duì)上述目標(biāo)函數(shù)使用拉格朗日乘子法得到
其中,是拉格朗日乘子。令
對(duì)
的偏導(dǎo)為零,并代入到拉格朗日函數(shù)中可得原問(wèn)題的對(duì)偶問(wèn)題
核函數(shù)
核函數(shù)的思想類似于神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)。
有時(shí),通過(guò)函數(shù)將樣本從原始空間映射到一個(gè)更高維的特征空間,SVM可以找到更加合適的劃分超平面。比如
這時(shí)候劃分判別函數(shù)變?yōu)?br>
定義核函數(shù)為
在SVM求解的過(guò)程中,使用替代
,可大大減少計(jì)算量。常用核函數(shù)有,高斯核、多項(xiàng)式核、Sigmoid核等。
題外話
SVM作為機(jī)器學(xué)習(xí)中一個(gè)著名的算法,還有許多變體,如半監(jiān)督SVM、單類SVM等。