第三章 研究方法
第一節 支持向量機
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第三章 研究方法
第一節 支持向量機
支持向量機原理
首先給定一個集合𝐷 = {(𝑥 , 𝑦 ), (𝑥 , 𝑦 ), … , (𝑥 , 𝑦 ))} ,𝑦 ∈ {1, −1},分類學習 中,最基本的思想就是在樣本空間中,找出一條直綫,將不同類別的樣本完全區分 開。
圖 2 支持向量機目的示意圖
而可以將不同兩類樣本劃分成兩部分的直綫衆多,那麽要想選中其中一條性 能最好的,就不能僅僅關注於對於當前樣本的區分性,還要關注對於即將出現的新 樣本的容忍度。因此劃分的直綫距離兩側樣本的距離要選在一個適當值,此時就要 藉助支持向量。
首先我們給定那條用來分類樣本的“直綫 公式為:
𝛚𝐓𝒙 + 𝑏 = 0 (3.11)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
由於特徵個數有可能不是二維,可能是更高維度,因此此時我們稱呼這條
“直綫 為超平面。其中𝜔 = (𝑤 ; 𝑤 ; … ; 𝑤 )是超平面的法向量;𝑏為位移項,決定 超平面與原點之間的距離。
樣本空間中任意點𝑥到該超平面的距離為
𝑟 =|𝝎𝑻𝒙 + 𝑏|
|𝝎| (3.12)
同時給定
𝜔 𝑥 + 𝑏 ≥ 1 , 𝑦 = 1
𝜔 𝑥 + 𝑏 ≤ −1 , 𝑦 = −1 (3.13) 則其中使得等號成立的點為支持向量。
圖 3 支持向量機原理示意圖
其中兩個支持向量之間的距離則為
𝑟 = 2
|𝝎| (3.14)
這個距離稱之爲間隔(margin)。
這時支持向量機的所求的約束條件則為尋找最大間隔的約束條件,即 𝜔 𝑥 + 𝑏 = −1
𝜔 𝑥 + 𝑏 =1 𝜔 𝑥 + 𝑏 =0
𝑟 = 2
||𝝎||
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
max,
2
|𝝎|
𝑠. 𝑡. 𝑦 (𝜔 𝑥 + 𝑏) ≥ 1, 𝑓𝑜𝑟 𝑖 = 1,2, … , 𝑚 (3.15) 上式等價於
𝑚𝑖𝑛,
1 2 |𝝎|
𝑠. 𝑡. 𝑦 (𝜔 𝑥 + 𝑏) ≥ 1, 𝑓𝑜𝑟 𝑖 = 1,2, … , 𝑚 (3.16) 由於現實任務中的樣本很難完全分開,因此引入“軟間隔 (soft margin)概 念,即允許在分類時候在一些分類樣本上出錯。
圖 4 軟分隔支持向量機原理示意圖
如圖所示,圖中空心圖形則爲劃分錯誤的分類,軟間隔允許這些樣本不滿足 約束條件,對其有一定的容忍度。
雖然引入軟間隔概念,但是對於分類錯誤樣本依然希望盡可能少,所以引入 懲罰係數𝐶,滿足𝐶 > 0 ,引入至優化目標則為
𝑚𝑖𝑛,
1
2 |𝝎| + 𝐶 (𝑦 (𝝎 𝑥 + 𝑏) − 1) (3.17) 𝜔 𝑥 + 𝑏
𝜔 𝑥 + 𝑏 =1 𝜔 𝑥 + 𝑏 =0
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
其中 為損失函數,一般常用的有三種損失函數,如下 Hinge 損失函數:
(𝑧) = max(0,1 − 𝑧) (3.18 − 1)
指數損失函數(exponential loss):
(z) = exp(−z) (3.18 − 2)
對率損失函數(logistic loss):
(𝑧) = log(1 + exp(−𝑧)) (3.18 − 3) 顯然當𝐶越大時,代表著模型對錯誤的容忍度越低,當𝐶趨向於無窮大時,迫 使所有樣本滿足條件,此時則為支持向量機的基本型。
此時使用hinge 損失函數此時優化目標為
𝑚𝑖𝑛,
1
2 |𝝎| + 𝐶 max 0,1 − 𝑦 (𝝎𝑻𝒙𝒊+ 𝑏) (3.19 − 1)
然後引入一個“鬆弛變量 (slack variables)ξ ≥ 0,表示每一個樣本點不滿 足約束條件的程度。進而可將式(3.7)改寫為
𝑚𝑖𝑛,
1
2 |𝝎| + 𝐶 𝜉 𝑠. 𝑡. 𝑦 (𝝎 𝑥 + 𝑏) ≥ 1 − 𝜉
𝜉 ≥ 0, 𝑖 = 1,2, … , 𝑚 (3.19 − 2)
支持向量機的求解
支持向量機的求解,需要藉助拉格朗日乘子法(Lagrange Multiplier)來構造 對偶問題(dual problem)進行求解。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
希望求解的目標超平面為
𝑓(𝑥) = 𝝎𝑻𝒙 + 𝑏 (3.21)
對式(3.16)的約束條件,添加拉格朗日乘子 α ≥ 0,則式(3.16)可轉化爲
𝐿(𝝎, 𝑏, 𝛼) =1
2 |𝝎| + 𝛼 1 − 𝑦 (𝝎 𝒙𝒊+ 𝑏) (3.22) 其中𝜶 = (𝛼 ; 𝛼𝟐; … ; 𝜶 ) ,令𝐿(𝝎, 𝑏, 𝛼)對𝝎 和𝑏的偏導數為 0 則可以得到
𝝎 = 𝛼 𝑦 𝒙𝒊 𝒎
𝒊 𝟏
(3.23)
𝛼 𝑦 = 0 (3.24)
考慮式(3.24)以及將(3.23)代入(3.22),得到式(3.16)的對偶問題
max 𝛼 −1
2 𝛼 𝛼 𝑦 𝑦 𝒙𝒊𝑻𝒙𝒋
𝑠. 𝑡. 𝛼 𝑦 = 0
𝛼 ≥ 0, 𝑖 = 1,2, … , 𝑚 (3.25) 從而可以解出𝜶,即可得到模型
𝑓(𝒙) = 𝛼 𝑦 𝒙 𝒙 + 𝑏 (3.26)
對於引入了鬆弛變量的支持向量機的求解過程類似使用两个乘子𝛼 ≥ 0, 𝜇 ≥ 0,利用朗格朗日乘子法得到
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
𝐿(𝝎, 𝑏, 𝜶, 𝝃, 𝝁) =1
2 |𝜔| + 𝐶 𝜉 + 𝛼 1 − 𝜉 − 𝑦 (𝝎𝑻𝒙𝒊+ 𝑏)
− 𝜇 𝜉 (3.27)
同理,令𝐿(𝝎, 𝑏, 𝜶, 𝝃, 𝝁)對𝝎, 𝑏, 𝜉 的偏導數為 0,得到條件,進而求得(3.19-2)的對偶問題為
max 𝛼 −1
2 𝛼 𝛼 𝑦 𝑦 𝒙𝒊𝑻𝒙𝒋
𝑠. 𝑡. 𝛼 𝑦 = 0
0 ≤ 𝛼 ≤ 𝐶, 𝑖 = 1,2, … , 𝑚 (3.28) 與(3.25)的唯一不同僅在於約束條件,因此可以使用相同的方法進行求解。
得到解為
𝑓(𝒙) = 𝛼 𝑦 𝒙 𝒙 + 𝑏 (3.26)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
核函數
由於并非所有樣本都綫性可分,存在綫性不可分的樣本,因此定義一個映射𝜙 可以將低維向量映射到更高維度,從而達到綫性可分的目的。
圖 5 核方法示意圖
因此此時
max 𝛼 −1
2 𝛼 𝛼 𝑦 𝑦 𝜙 (𝒙𝒊)𝜙 𝒙𝒋
𝑠. 𝑡. 𝛼 𝑦 = 0
𝛼 ≥ 0, 𝑖 = 1,2, … 𝑚 (3.31) 為原問題的對偶問題,但是此時𝜙 (𝒙𝒊)𝜙(𝒙𝒋)涉及到高維度内積運算,所以引 入核函數𝑘(·,·),使得
𝑘 𝒙𝒊, 𝒙𝒋 = 𝜙 (𝒙𝒊)𝜙 𝒙𝒋 (3.32) 這樣就避免了在高維度空間的計算,使得可以在原始維度的空間通過計算得 出得到結果,此時的解為
𝑓(𝑥) = 𝛼 𝑦 𝑘(𝒙, 𝒙 ) + 𝑏 (3.33) 𝑥 → 𝜙(𝑥)