第 7 章 支援向量機

2021-10-02 07:14:15 字數 3846 閱讀 5575

支援向量機(support vector machine, svm)是一種二類分類模型,它的基本模型是定義在特徵空間上的間隔最大的線性分類器,間隔最大使它有別於感知機;

支援向量機還包括核技巧,這使它成為實質上的非線性分類器, 支援向量機的學習策略就是間隔最大化,可形式化為乙個求解凸二次規劃(convex quadratic programming)的問題, 也等價於正則化的合頁損失函式的最小化問題,支援向量機的學習演算法是求解凸二次規劃的最優化演算法。

支援向量機學習方法包含建立由簡至繁的模型。

線性可分支援向量機、線性支援向量機及非線性支援向量機。

簡單模型是複雜模型的基礎,也是複雜模型的特殊情況。

當輸入空間為歐式空間或者離散集合、特徵空間為希爾伯特空間時,核函式(kernel function)表示將輸入從輸入空間對映到特徵空間得到的特徵向量之間的內積。通過核函式可以學習非線性支援向量機,等價於隱式地在高維的特徵空間中學習線性支援向量機(重點), 這樣的方法稱為核技巧。

核方法是比支援向量機更為一般的機器學習方法。

7.1.1 線性可分支援向量機

考慮乙個二元分類問題, 假設輸入空間與特徵空間為兩個不同的空間,輸入空間為歐氏空間或離散集合。特徵空間為歐式空間或希爾伯特空間。

所以輸入都由輸入空間轉換到特徵空間, 支援向量機的學習是在特徵空間進行的。

假設給定有乙個特徵空間的訓練資料集 t。 xi ∈ rn , yi = , xi 為第 i 個特徵向量, 也稱為例項, yi 為 xi 的類標記, 當 yi = +1 時, 稱 xi 為正例, 當 yi = -1 時, 稱 xi 為負例, (xi, yi)稱為樣本點。再假設訓練資料集是線性可分的。!!!

學習的目標是在特徵空間中找到乙個分離超平面, 能將例項分到不同的類, 分離超平面將特徵空間劃分為兩部分,一部分是正類, 一部分是負類, 法向量指向的一側時正類,另一側是負類。

一般的,當訓練資料線性可分時, 存在無窮個分離超平面可將兩類資料正確分開(沒錯,用膝蓋想想都知道)。

感知機利用誤分類最小的策略,求得分離超平面,不過這時的解有無窮多個,線性可分支援向量機利用間隔最大化求最優分離超平面(相當於在原有的基礎上增肌乙個約束),這時,解是唯一的。

定義 7.1(線性可分支援向量機) 給定線性可分訓練資料集,通過間隔最大化或等價地求解相應的凸二次規劃問題學習得到的分離超平面為

以及相應的分類決策函式:

稱為線性可分支援向量機。

考慮如下圖所示的二維特徵空間中的分類問題,訓練資料線性可分,這時有許多直線能將兩類資料正確劃分,線性可分支援向量機對應著兩類資料正確劃分並且間隔最大的直線。

間隔最大及相應的約束最優化問題將在下面描述,下面介紹函式間隔和幾何間隔的概念。

7.1.2 函式間隔和幾何間隔

一般來說,乙個點距離分離超平面的遠近可以表示分類**的確信程度, 在超平面 w • x + b = 0 確定的情況下, | w • x + b | 能夠相對地表示點 x 距離超平面的遠近,而 w • x + b的符號與類標記及 y 的符號是否一致能夠表示分類是否正確,所以可用量 y(w • x + b) 來表示分類的正確性和確信度,這就是函式間隔的概念。

函式間隔可以表示分類**的正確性及確信度,但是選擇分離超平面時,只有函式間隔還不夠,因為只要成比例地改變 w 和 b ,例如將它們改為 2w 和 2b(w • x , w 係數有影響) ,超平面並沒有改變,而函式間隔卻是原來的 2 倍, 我們需要對分離超平面的法向量做一些約束, 如規範化, || w || = 1,使得間隔是確定的,這時函式間隔成為幾何間隔(geometric margin)

如圖所示, 給出了超平面 (w,b) 及法向量 w ,點 a表示某一例項 xi ,其類標記為 yi = +1, 點 a 與超平面(w,b)的距離由線段 ab給出, 記作γi。

其中, || w || 為 w 的 l2 範數, 這時點a 在超平面正的一側的情形, 如果點 a 在超平面負 的一側, 即 yi = -1 ,那麼點和超平面的距離為:

一般的,當樣本點 (xi, yi)被超平面(w, b )正確分類時, 點 xi 與超平面(w,b)的距離是

這就是幾何間隔。

7.1.3 間隔最大化

支援向量機學習的基本想法是求解能夠正確劃分訓練資料集並且幾何間隔最大的分離超平面,對線性可分的訓練資料集而言, 線性可分分離超平面有無窮多個(等價於感知機),但是幾何間隔最大的分離超平面是唯一的,這裡的間隔又稱為硬間隔最大化。

最大間隔分離超平面

這個問題可以表示為下面的約束最優化問題:

在滿足超平面關於每個訓練樣本點的幾何間隔至少是γ的約束條件下, 找到最大的幾何間隔。

同樣的,用函式間隔可表示為下:

這兩個是等價問題,下一步因為將 γ^ = 1代入,則解 1 / ||w|| 最大化, 因為 || w || 2 / 2 是等價的, 所以可以得到以下最優化問題**換應該是為了好解吧)。

於是就得到線面的線性可分支援向量機學習的最優化問題。

這是乙個凸二次規劃(convex quadratic programming)問題

凸優化問題是指約束最優化問題:

目標函式 f(w) 和 約束函式 gi(w) 是 rn 上的連續可微的凸函式, 約束函式 hi (w) 是 rn上的仿射函式。

從rn到rm的對映,稱為仿射變換(affine transform)或仿射對映(affine map),其中 a 是乙個矩陣,b

是乙個 m 維向量。當時,稱m = 1時 ,稱上述仿射變換為仿射函式。

當目標函式 f(w) 是二次函式且約束函式 gi(w) 是仿射函式時,上述凸優化問題成為凸二次規劃問題。

支援向量和間隔邊界

注意到 h1 和 h2 平行, 並且沒有例項點落在它們中間, 在 h1 與 h2 之間形成一條長帶,分離超平面與它們平行且位於它們的**,長帶的寬度, 即 h1 與 h2 之間的距離成為間隔(margin),間隔依賴於分離超平面的法向量 w ,等於 2/ || w|| , h1 和 h2 稱為間隔邊界。

在決定分離超平面時只有支援向量起作用,而其他例項點並不起作用,因為支援向量在確定分離超平面中起著決定性作用, 所以將這種分類模型稱為支援向量機。

支援向量的個數一般很少,所以支援向量機由很少的「重要的」 訓練樣本確定。

西瓜書 第6章 支援向量機

乙個支援向量機解決乙個二分類問題 假設乙個超平面 wtx b 0能將正反例正確劃分 超平面上方為正例 1,下方為反例 1 那麼正例 xi,yi 使 wtxi b 0,yi 1 那麼反例 xi,yi 使 wtxi b 0,yi 1 任意點到超平面的距離可寫為 r wtxi b w 任意正反例的距離 w...

支援向量機專題 線性支援向量機

原文 當資料線性不可分時,使用硬間隔支援向量機很難得到理想的結果。但是如果資料近似線性可分,可以採用軟間隔支援向量機 線性支援向量機 進行分類。這通常適用於有少量異常樣本的分類,如果使用線性支援向量機,它會盡量使得所有訓練樣本都正確,如下圖所示。顯然這並不是最好的結果,軟間隔支援向量機可以權衡 間隔...

支援向量機

支援向量機 svm 一種專門研究有限樣本 的學習方法。是在統計學習理論基礎之上發展而來的。沒有以傳統的經驗風險最小化原則作為基礎,而是建立在結構風險最小化原理的基礎之上,發展成為一種新型的結構化學習方法。結構風險最小歸納原理 解決了有限樣本或小樣本的情況下獲得具有優異泛化能力的學習機器。包含了學習的...