機器學習-SVM支持向量機解析

支持向量機(SVM)

1 摘要
支持向量機是一種二類分類模型,它的基本模型是定義在特徵空間上的間隔最大的線性分類器,所以模型的學習策略就是間隔最大化,因此形式可化爲一個求解凸二次規劃的問題,也等價於正則化的合頁損失函數的最小化問題,支持向量機的學習算法是求解凸二次規劃的最優化算法。

對於入門支持向量機,可以先不用看懂上面的摘要,通過逐步理解下面的公式推導,再回過來看摘要,才能徹底掌握支持向量機。

2 線性可分支持向量機原理
考慮一個二類分類問題,比如金融業的是否違約問題,假定給定一個特徵空間上的訓練數據集T={(x1,y1),(x2,y2),……,(xn,yn)}.X爲第i個樣本的特徵向量,y即是對應的分類標記,當y=+1時,稱這個樣本爲正例,當y=-1時,該樣本爲負例。對應金融業的信用卡違約問題,+1就代表該人沒有違約,-1代表該人違約。再假設訓練數據集T是線性可分的。
模型的學習目標就是在特徵空間中找到一個分離超平面,能將實例分到不同的類中,分離超平面對應於方程ωx+b=0,該超平面由法向量ω和截距b決定,分離超平面將特徵空間劃分爲兩部分,一部分是正例,一部分是負例,法向量指向的一側爲正例,另一側爲負例。用圖表示如下所示:
在這裏插入圖片描述

得到分離超平面後,我們也得到了相應的分類決策函數f(x)=sign(ωx+b),對於以後的未知分類的特徵數據集X,我們將X代入該函數即可知道其分類結果。因此該函數稱爲線性可分支持向量機。

下面來推導如何找到分離超平面:

3 支持向量機的推導過程
如何找到兩個集合的最優分割超平面,使得兩集合儘量分開。
在這裏插入圖片描述

支持向量機的學習策略就是通過間隔最大化得到分割超平面。先定義分離超平面的形式爲
在這裏插入圖片描述
φ(x)是某個確定的特徵空間轉換函數,它的作用是將x映射到更高的空間維度中。最簡單直接的就是令φ(x)=x,就得到了線性的超平面,這裏的φ(x)對後面理解核函數(非線性的支持向量機)有幫助,所以在公式推導中先用φ(x)代替x。

整理符號有: 在這裏插入圖片描述
首先,考慮下圖的二維特徵空間(即樣本只有兩個特徵)中的分類問題,有A,B,C三點,表示三個樣本,均在一個類別中,A距離超平面較遠,若預測該點爲正例,就比較確定預測是正確的,C距離超平面較遠,若預測該點爲正例,就不那麼確信,B的確信度在A,C之間。因此一個點距離分離超平面的遠近可以表示分類預測的確信程度,而點到直線的距離可表示爲|ωx+b|,ωx+b與y的符號是否一致表示分類是否正確。所以y(ωx+b)來表示分類的正確性及確信度。
在這裏插入圖片描述
但是對於y(ωx+b),要是成比例地改變ω和b,那麼此時的間隔就成爲原來的2倍,但是超平面沒有改變,因此我們規範化超平面法向量ω,使得間隔是確定的。這樣點到直線的距離就是 y(ωx+b)/||ω||。

在這裏插入圖片描述
通過對訓練數據集找到間隔最大的超平面意味着以充分大的確信度對訓練數據進行分類,也就是說,不僅要將正負例點分開,還要對最難分的樣本點也要有足夠大的確信度分開。所以間隔最大化的原理就是將距離超平面最近的點的間隔最大化。所以支持向量機中的支持向量就是距離超平面最近的那些點。我們只要找到了這些點,就可以確定出分離超平面的法向量ω和截距b,反過來想,距離分離超平面最近的點形成的線就爲ωx+b=±1,即距離超平面最近的點到超平面的距離是1,對於一般情況,y(ωx+b)≥1。
通過上面的分析建立以下模型:
在這裏插入圖片描述
約束條件爲:
在這裏插入圖片描述
上面的規劃問題等價於如下形式:
在這裏插入圖片描述
進一步可等價於:
在這裏插入圖片描述
這是一個凸二次規劃問題,運用拉格朗日乘子法使上面的有約束規劃轉變爲無約束規劃問題,拉格朗日函數爲:
在這裏插入圖片描述
原始問題爲極小極大問題min max L(ω,b,α),根據拉格朗日對偶性,原始問題的對偶問題是極大極小問題max min L(ω,b,α),當具有強對偶性時,對偶問題的解即是原始問題的解。因爲格式的限制,具體關於拉格朗日對偶性的推導參考我的博客:http://blog.csdn.net/pylady/article/details/78855554
對對偶問題的無約束求解先求解minL(ω,b,α)問題。將拉格朗日函數L(ω,b,α)分別對ω,b求偏導,並令其等於0:
在這裏插入圖片描述
將上面的結論代入拉格朗日函數爲:
在這裏插入圖片描述此時上面的L(ω,b,α)=min L,那麼求解對偶問題接下來是求解max問題:
在這裏插入圖片描述
等價於求:
在這裏插入圖片描述
那麼要求解得到分離超平面,需要求解出最優的α,即是求解上面的規劃問題。之所以要最後變爲最小化問題,是因爲求解該問題需要採用SMO序列最小最優化方法。
4 支持向量機和感知機的區別

當訓練數據集線性可分時,存在無窮個分離超平面可將兩類數據正確分開,感知機利用誤分類最小的策略求得超平面,不過這時的解有無窮多個,但是線性可分支持向量機利用間隔最大化策略求最優超平面,這時的解是唯一的。

待更新:SMO求解方法、軟間隔最大化、非線性支持向量機(核函數)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章