支援向量機
支援向量機是一種二類分類模型。其基本模型為定義在特徵空間上的間隔最大的線性分類器,間隔最大是它有別有感知機。支援向量機還包括核技巧,使它成為實質上的非線性分類器。支援向量機的學習策略就是間隔最大化,形式的化為求解凸二次規劃問題,也等價於正則化的和業務損失函式的最小化問題。
支援向量機學習演算法模型分類:
(1)線性可分支援向量機。當訓練集線性可分的時候,通過硬間隔最大化,學習乙個線性的分類器,即線性可分支援向量機。又稱為硬間隔支援向量機。
(2)線性近似可分支援向量機。當訓練集近似線性可分的時候,通過軟間隔最大化,也學習乙個線性的分類器,即線性支援向量機。又稱為軟間隔支援向量機。
(3)非線性支援向量機。當訓練集線性不可分的時候,通過核技巧以及軟間隔最大化,學習非線性支援向量機。
在講支援向量機之前,首先說一下感知機學習演算法、線性回歸、邏輯斯蒂回歸。
(1)感知機學習演算法是基於錯誤點驅動的,通過最小化誤分類點到分類超平面之間的距離 sum [ yi(w.xi+b)].最終得到的分類超平面不止乙個。
(2)線性回歸是通過最小二乘法來構造擬合函式:y = (w.xi+b)。線性回歸是乙個回歸問題。x的各維線性疊加和與輸出yi成線性關係。
(3)邏輯斯蒂回歸。x的線性疊加和與輸出yi不再成線性關係,而是符合邏輯斯蒂分布。學習策略是對數損失。各個樣本服從伯努利分布,然後利用極大似然函式分布,表示出似然函式,然後對數表示。求解引數,利用梯度下降法。
(1)線性可分支援向量機
給定線性可分訓練集,通過硬間隔最大化或者等價的求相應的凸二次規劃問題學習得到的分離超平面。
分離超平面為: w.x+b=0.
推導過程:一般來說,乙個樣本點距離分離超平面的遠近可以表示分類**的準確程度。如果分類正確,那麼yi(w.xi+b)>0。所以可以用yi(w.xi+b)表示分類的正確性與確信度。這就是函式間隔的概念。
函式間隔:
樣本點的函式間隔: di= yi(w.xi+b)
訓練集的函式間隔:定義為最小的函式間隔。
d= min di= min yi(w.xi+b)
可以用函式間隔表示分類的正確性與確信度,但是選擇分離超平面時,只有函式間隔是不夠的。比如成比例的改變w和b,超平面沒有變,但是函式間隔卻變成了原來的2倍。於是引入了幾何間隔。
樣本點的幾何間隔為 mi= yi(w.xi+b)/||w||.即對w做了乙個限制。
訓練資料集的幾何間隔:定義為最小的幾何間隔。
m= min mi = min yi(w.xi+b)/||w||
支援向量機學習的基本想法是求解能夠正確劃分訓練資料集並且集合間隔最大的分離超平面。對線性可分的訓練集而言,線性可分的分離超平面有無數多條,但是幾何間隔最大的分離超平面是唯一的。
間隔最大化的直觀解釋就是:對訓練資料集找到集合間隔最大的超平面意味著以充分大的確信度對訓練資料進行分類。也就是說,不僅將正負例項點分開,而且對最難分的例項點(離超平面最近的的點)也有足夠大的確信度將其分開。
即離超平面最近的點是最難分的點,反映了整個分類學習器的效能。
最大間隔分離超平面:
max m
st:yi(w.xi+b)/||w||>=m i=1,2,….n
即我們希望最大化幾何間隔m,約束條件表示每個樣本點的集合間隔都至少是m。
考慮到幾何間隔和函式間隔的關係,這個問題可以改寫成:
max d/||w||
st yi(w.xi+b)>=d i=1,2,….n
函式間隔d的取值並不會影響最優化問題的解,事實上,將w和b等比例的改變,對目標函式的優化沒有任何影響。這樣可以去d=1,那麼目標函式變成了1/||w||。同時 1/||w||與1/2||w||^2是等價的。
即此時目標函式變成(後面涉及公式,都是在word中弄好了,截圖上來):
這是乙個凸二次規劃問題。
線性可分訓練資料集的最大間隔分離超平面是存在且唯一的。
上述原始問題是標準的qp問題,除了qp現成的解法之外,還可以應用拉格朗日對偶性,通過求解對偶問題得到原始問題的最優解。引入對偶問題的好處:
(1) 對偶問題往往更容易求解
(2) 自然引入核函式,進而推廣到非線性分類問題。
首先構建拉格朗日函式,將不等式約束加入到目標函式之中。
這就是原始問題。
根據拉格朗日對偶性,原始問題的對偶問題是極大極小問題。
以上推導的是對偶問題,跟原始問題有啥關係呢?
在最優化中,如果滿足kkt條件,那麼原始問題和對偶問題的最優值相等。
(2)線性近似可分支援向量機,即軟間隔支援向量機
訓練集資料並不總是線性可分的,通常情況下,訓練集資料有一些異常點,將這些異常點去掉之後,剩下的大部分樣本組成的集合是線性可分的。
線性不可分意味著某些樣本點不滿足函式間隔大於等於1的約束條件。為了解決這個問題,可以對每個樣本點引入乙個鬆弛變數。使得函式間隔加上鬆弛變數之後大於等於1.這樣約束條件變成:
同時每個鬆弛變數,都要支付乙個代價,目標函式由原來的,變成了
線性支援向量機的損失函式是合頁損失。
(4)引數的求解
支援向量機引數的求解是利用smo(序列最小最優化演算法)演算法的,其基本思路就是:所有所有變數的解都滿足此最優化問題的kkt條件,那麼這個最優化問題的解就找到了。其特點就是不斷的將原二次規劃問題分解為只有兩個變數的二次規劃子問題,並對子問題進行解析求解,直到所有變數滿足kkt條件。
(5)優缺點
svm有如下主要幾個特點:
(1)非線性對映是svm方法的理論基礎,svm利用內積核函式代替向高維空間的非線性對映;
(2)對特徵空間劃分的最優超平面是svm的目標,最大化分類邊際的思想是svm方法的核心;
(3)支援向量是svm的訓練結果,在svm分類決策中起決定作用的是支援向量;
(4)svm 是一種有堅實理論基礎的新穎的小樣本學習方法。
它基本上不涉及概率測度及大數定律等,因此不同於現有的統計方法。
從本質上看,它避開了從歸納到演繹的傳統過程,實現了高效的從訓練樣本到預報樣本的「轉導推理」,大大簡化了通常的分類和回歸等問題;
(5)svm 的最終決策函式只由少數的支援向量所確定,計算的複雜性取決於支援向量的數目,而不是樣本空間的維數,這在某種意義上避免了「維數災難」。
(6)少數支援向量決定了最終結果,這不但可以幫助我們抓住關鍵樣本、「剔除」大量冗餘樣本,而且注定了該方法不但演算法簡單,而且具有較好的「魯棒」性。
這種「魯棒」性主要體現在:
①增、刪非支援向量樣本對模型沒有影響;
②支援向量樣本集具有一定的魯棒性;
③有些成功的應用中,svm 方法對核的選取不敏感
兩個不足:
(1) svm演算法對大規模訓練樣本難以實施
由於svm是借助二次規劃來求解支援向量,而求解二次規劃將涉及m階矩陣的計算(m為樣本的個數),當m數目很大時該矩陣的儲存和計算將耗費大量的機器記憶體和運算時間。針對以上問題的主要改進有j.platt的smo演算法、
(2) 用svm解決多分類問題存在困難經典的支援向量機演算法只給出了二類分類的演算法,而在資料探勘的實際應用中,一般要解決多類的分類問題。可以通過多個二類支援向量機的組合來解決。
主要有一對多組合模式、一對一組合模式和svm決策樹;
再就是通過構造多個分類器的組合來解決。
主要原理是克服svm固有的缺點,結合其他演算法的優勢,解決多類問題的分類精度。 。
支援向量機(SVM)演算法
支援向量機 support vector machine 是一種分類演算法,通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信範圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,即支...
支援向量機專題 線性支援向量機
原文 當資料線性不可分時,使用硬間隔支援向量機很難得到理想的結果。但是如果資料近似線性可分,可以採用軟間隔支援向量機 線性支援向量機 進行分類。這通常適用於有少量異常樣本的分類,如果使用線性支援向量機,它會盡量使得所有訓練樣本都正確,如下圖所示。顯然這並不是最好的結果,軟間隔支援向量機可以權衡 間隔...
支援向量機
支援向量機 svm 一種專門研究有限樣本 的學習方法。是在統計學習理論基礎之上發展而來的。沒有以傳統的經驗風險最小化原則作為基礎,而是建立在結構風險最小化原理的基礎之上,發展成為一種新型的結構化學習方法。結構風險最小歸納原理 解決了有限樣本或小樣本的情況下獲得具有優異泛化能力的學習機器。包含了學習的...