線性可分支援向量機

2021-06-21 16:54:48 字數 2691 閱讀 2396

支援向量機(support vector machines, svm)是一種二類分類模型。根據模型的複雜程度可以分為線性可分支援向量機、線性支援向量機及非線性支援向量機。簡單模型是複雜模型的基礎,也是複雜模型的特殊情況。本文假設訓練資料線性可分,介紹了線性可分支援向量機如何通過硬間隔最大化(hard margin maximization)來學習乙個線性的分類器。

假定訓練資料集:

x_i(本文以「_」表示下標)為第i個特徵向量,y_i為x_i的類標記,當y_i=+1時,稱x_i為正例;當y_i=-1時,稱x_i為負例,(x_i,y_i)稱為樣本點,再假定訓練資料集是線性可分的。學習的目標是找到乙個超平面,將所有樣本點分類,即將正例分為一類,將負例分為另一類。關於超平面的定義,可見維基百科。簡單地說,以二維空間為例,在乙個平面上,超平面是由滿足ax+by=c方程的點構成,即平面上的一條直線,將該平面劃分為兩類;以此類推,在三維空間中,超平面是由滿足ax+by+cz=d方程的點構成,即空間中的乙個面,將空間劃分為兩類。為了能夠在任意維度劃分空間,超平面的方程常常表示成wx+b=0,其中w和x都是向量。

1.線性可分支援向量機的定義

給定線性可分訓練資料集,通過間隔最大化或等價地求解相應的凸二次規劃問題學習得到的分離超平面為wx+b=0以及相應的分類決策函式f(x)=sign(wx+b)稱為線性可分支援向量機。

圖1由於訓練資料線性可分,如圖1所示,這時有許多超平面能將兩類資料正確劃分,線性可分支援向量機的目的就是從中找到最佳的超平面,使得**新資料時有較好的表現。以二維空間為例,相對於把超平面方程wx+b=0理解為一條平面直線y=kx+b,個人更傾向於將其理解為空間平面z=ax+by+c與平面z=0的交線。將訓練資料集中的樣本點帶入wx+b得到的值表示空間平面z=ax+by+c上的點與z=0之間的距離,距離為正的樣本為正例,距離為負的樣本為負例。注意,二維空間中的超平面是圖2中的紅色直線。

圖2 二維空間中的超平面

2.函式間隔和幾何間隔

圖3 二類分類問題

在如上圖所示的二維空間中,假設已經找到了超平面將二維空間劃分為兩類,「○」表示正例,「×」表示負例。其中a,b,c三個點表示3個樣本點。一般來說,乙個點距離超平面的遠近可以表示分類**的確信程度。比如,**這三個點的類別的時候,點a距離超平面較遠,若**該點為正例,就有比較大的把握。相反,點c距離超平面較近,若**該點為正例就不那麼確定,因為有可能是超平面選擇的不合理而導致點c被誤分為正例。因此,相比距離超平面較遠的點,距離較近的點對超平面的選擇有更大的影響,我們將其稱之為支援向量。支援向量決定了我們如何選擇超平面,可見支援向量的重要性。函式間隔和幾何間隔的提出,為找到最佳的超平面提供了依據。

2.1函式間隔

對於給定的訓練資料集t和超平面(w,b),定義超平面(w,b)關於樣本點(x_i,y_i)的函式間隔為訓練資料集t的函式間隔為超平面(w,b)關於t中所有樣本點(x_i,y_i)的函式間隔的最小值,即

2.2幾何間隔

對於給定的訓練資料集t和超平面(w,b),定義超平面(w,b)關於樣本點(x_i,y_i)的幾何間隔為

訓練資料集t的幾個間隔為超平面(w,b)關於t中所有樣本點(x_i,y_i)的函式間隔的最小值,即

3.間隔最大化

支援向量機學習的基本想法是求解能夠正確劃分訓練資料集並且幾何間隔最大的超平面。對於線性可分的訓練資料集而言,超平面有無窮多個,但是幾何間隔最大的超平面是唯一的。這裡的間隔最大化稱為硬間隔最大化。這是因為幾何間隔是指離超平面最近的正負樣本點,最大化幾何間隔意味著當前的超平面不僅可以很合理地劃分訓練資料集,對未知的測試資料集應當也有較好的分類**能力。因此,接下來的問題就是如何求得乙個幾何間隔最大的超平面。這個問題可以表示為約束最優化問題:

考慮幾何間隔和函式間隔的關係,可將這個問題改寫為:

正如前文所述,成比例地改變w和b會影響函式間隔,但不影響超平面,因此不妨通過調整w和b使得函式間隔取值為1。同時,注意到最大化1/||w||與最小化||w||等價,因此,上式可以轉化為如下形式:

目標函式的係數1/2僅僅是為了方便求導,無其他任何含義。通過利用拉格朗日對偶演算法,求解上述約束最優化問題得到w和b,從而得到分類決策函式f(x)=sign(wx+b)。基於分類決策函式可對測試資料集進行分類。最大間隔超平面的存在唯一性,參考資料[1]第101頁給出了詳細的證明過程,這裡不再贅述。

4.參考資料

[1] 《統計學習方法》,李航著,清華大學出版社

線性可分支援向量機筆記

支援向量機是一種二分類分類器。給一堆資料 x i,yi 並假設它們是線性可分的。線性可分支援向量機的目的就是從這堆資料中學到乙個分類超平面wx b 0 利用這個平面進行分類。那麼如何得到這個分類超平面呢?假設這個分類超平面我們已經得到了,為wx b 0 那麼對於點 x i,yi 我們可以用 w xi...

線性可分支援向量機(二)

線性可分支援向量機 二 性可分支援向量機 一 中,我們研究的是最理想的情況,即被分類的兩類樣本點沒有交叉,能夠完全被分離超平面給分離。但實際上的情況一般都不是那麼理想,可能找不出乙個完美的分離超平面。有可能有樣本點位於分離超平面的另一側。此時,我們所追求的就是軟間隔最大化。軟間隔最大化 根據博文一的...

SVM筆記(三) 線性可分支援向量機

如果訓練輸入線性可分,通過應間隔最大化學習得到的線性分類器稱為線性可分支援向量機。假設特徵空間上的訓練資料集 t 其中xi 表示第i個特徵向量,yi 為xi 的類標記。學習目標是在特徵空間找到乙個分離超平面 w x b 0 可以將正負樣例分開,即正負樣例分布在超平面的兩側。定義超平面關於訓練資料集t...