一、SVM原問題及要變成對偶問題的解決辦法
對於SVM的,我們知道其終於目的是求取一分類超平面,然后將新的數據帶入這一分類超平面的方程中,推斷輸出結果的符號,從而推斷新的數據的正負。
而求解svm分類器模型。終於能夠化成例如以下的最優化問題:
minw,bs.t.12∥w∥21−yi(w⋅xi+b)≤0i=1,2,...,N
上式中。
yi
相應樣本
xi
的標簽。
我們的目的是求出上述最優化問題的最優解,
w∗
和
b∗
,從而得到分類超平面:
w∗⋅x+b∗=0
進而得到分類決策函
f(x)=sign(w∗⋅x+b)
可是在求解這一最優化問題時。求解較為困難,且對於線性不可分的數據無法得到較好的分類超平面。因此依據拉格朗日對偶性,引進原最優化問題的對偶問題,通過求解對偶問題得到原始問題的最優解。
對偶問題的引進有兩個方面。一是對偶問題的求解往往比原問題easy。二是對於線性不可分的數據能夠通過加松弛變量、加核函數的方法,將其推廣到非線性分類。
二、原始SVM的對偶問題及其求解
原始的SVM模型的原問題例如以下:
minw,bs.t.12∥w∥21−yi(w⋅xi+b)≤0i=1,2,...,N
為方便計算,將范數形式改寫成例如以下形式:
minw,bs.t.12wTw1−yi(w⋅xi+b)≤0i=1,2,...,N
要想求原始問題的對偶問題。首先構造拉格朗日函數入例如以下:
L(w,b,λ)=12wTw+∑i=1Nλi[1−yi(wTxi+b)]λi≥0,i=1,2,...,N
上式中的
λi
是拉格朗日乘子。
觀察上述式子。可發現
λi[1−yi(wTxi+b)]≤0
所以
L(w,b,λ)≤12wTw
,即構造的拉格朗日函數是原問題的一個下界。
依據拉格朗日對偶性。原始問題的的對偶問題是極大化極小問題:
maxλminw,bL(w,b,λ)
上式所表達的意思是,先求
L(w,b,λ)
對
w,b
的極小,再求對
λ
的極大。
首先。求
minw,bL(w,b,λ)
:
我們知道。對於一階可導函數,其在導數值為0的地方。取到極大或極小值,對於我們構造的拉格朗日函數,其偏導導數為0的點,一定是極小值。故:
0=∂∂wL(w,b,λ)=w+∑i=1Nλi(−yixi)⇒w=∑i=1Nλiyixi0=∂∂bL(w,b,λ)=−∑i=1Nλiyi⇒∑i=1Nλiyi=0
將求得的
w
代入拉格朗日函數,可得
L(w,b,λ)=−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi−∑i=1Nλiyi⎛⎝∑j=1NλjyjxTjxi+b⎞⎠
由於
∑Ni=1λiyi=0
,故
L(w,b,λ)=−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi
所以
g(λ)=minw,bL(w,b,λ)=−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi
依據拉格朗日對偶的極大極小的性質,可知對偶問題的目標是:
maxλ−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi
如今再找約束條件,
即在前面的推導過程中。遇到與
λ
有關的等式或不等式,且該等式或不等式中不含原問的目標變量。
可發現,在對b求偏導是得到
∑Ni=1λiyi=0
,故這是一個約束條件,另外在構造拉格朗日函數時。約定了
λi≥0
,故原問題的對偶問題能夠寫成例如以下形式:
maxλs.t.−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi∑i=1Nλiyi=0λi≥0,i=1,2,...,N
故此得到了原始的SVM的對偶形式。如今考慮怎樣從對偶問題中求得原問題的最優解。
考慮對偶問題的最優化問題。存在
λ∗
是對偶的最優解。又由於
w=∑i=1Nλiyixi
故能夠解得
w∗=∑i=1Nλ∗iyixi
同一時候依據KTT條件原理(這里不做解釋,能夠自行查閱資料,不論什么關於最優化理論、凸優化的書都會說到這個),可解得b的值:
b∗=yj−∑i=1Nλ∗iyixTixj
故分離超平面為:
∑i=1Nλ∗iyixTix+b=0
分類決策函數為:
f(x)=sign(∑i=1Nλ∗iyixTix+b)
三、加松弛變量SVM的對偶問題
如上文所述。對於線性可分的數據,能夠構造SVM模型。並將其轉換為一個最優化問題,且這個優化問題的約束條件是對於全部的樣本。都有
1−yi(wTxi+b)≤0
。則對於線性不可分的數據。在數學形式的解釋為存在某個樣本(x,y)使上述的約束不成立,即
1−y(wTx+b)>0
。
既然約束條件不成立,那是否能增加一個松弛變量
ξ,ξ≥0
,使得
1−y(wTx+b)−ξ≤0
?
正是基於這個思想,出現了加松弛變量的SVM,其原始問題的形式例如以下:
minw,bs.t.12wTw+C∑i=1Nξi1−yi(w⋅xi+b)−ξi≤0−ξi≤0i=1,2,...,N
當中C為常數,
ξi
為松弛變量。
由於我在約束中加了松弛變量,可是我們希望我們所加的松弛變量越小越好。這樣越接近於原約束條件。故把“松弛變量越小越好”這一期望,放在目標函數中,由於目標函數是求最小值,故加上
C∑Ni=1ξi
,這一項也被稱為
“懲處項”。能夠理解為增加的松弛變量越大。對目標函數的懲處力度越高。
現要求其對偶問題。相似於前面的解法,首先構造拉格朗日函數例如以下:
L(w,b,ξ,λ,β)=12wTw+C∑i=1Nξi+∑i=1Nλi[1−yi(wTxi+b)−ξi]+∑i=1Nβi(−ξi)
相同。求偏導可得:
0=∂∂wL(w,b,λ)=w+∑i=1Nλi(−yixi)⇒w=∑i=1Nλiyixi0=∂∂bL(w,b,λ)=−∑i=1Nλiyi⇒∑i=1Nλiyi=00=∂∂ξi=C−λi−βi⇒λi=C−βi≤C
將結果代回拉格朗日函數。可得例如以下形式:
L(w,b,λ)=−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi+C∑i=1Nξi−∑i=1Nλiξi−∑i=1Nβiξi
由於
C−λi−βi=0
。所以
C∑i=1Nξi−∑i=1Nλiξi−∑i=1Nβiξi=0
故
g(λ,β)=minw,bL(w,b,λ)=−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi
則對偶形式為
maxλs.t.−12∑i=1N∑j=1NλiλjyiyjxTixj+∑i=1Nλi∑i=1Nλiyi=00≤λi≤C,i=1,2,...,N
觀察上式可發現,對於原問題。加了松弛變量后,其對偶形式變化比較小,僅僅是在約束條件上有些許變化。從這點也可發現將原問題化成對偶問題的優點,
即原問題形式的變化非常大,可是對偶問題變化卻非常小,方便求解。
所以非常多優化問題。假設在原問題上較為難實現,則能夠考慮轉化為對偶問題。
四、加核函數SVM的對偶問題
加核函數的思想是:
通過一個非線性變化將輸入空間映射到一個更高維的特征空間(希爾伯特空間),使得在輸入空間中的超曲面模型相應希爾伯特空間中的超平面模型。
因此,在輸入空間的非線性分類問題能夠變成希爾伯特空間中的線性分類問題,故能夠繼續使用SVM模型。
核函數的定義:
設
X
是輸入空間(歐式空間
Rn
的子集或離散集合),又設
H
為特征空間(希爾伯特空間)。假設存在一個從
X
到
H
的映射:
ϕ(x):X→H
使得對全部的
x,y∈X
,函數
K(x,y)
滿足條件
K(x,y)=<ϕ(x),ϕ(y)>
其中<ϕ(x),ϕ(y)>
表示內積。
核技巧的想法是:
在學習預測中,僅僅定義核函數
K(x,y)
。而不是顯式的定義映射函數
ϕ
。
通常,直接計算
K(x,y)
比較easy,而通過
ϕ(x)
和
ϕ(y)
計算
K(x,y)
並不easy。比較經常使用的核函數——高斯核函數:
K(x,y)=exp(−∥x−y∥22σ2)
基於核函數的思想,先定義原SVM模型例如以下:
minw,bs.t.12wTw+C∑i=1Nξi1−yi(w⋅ϕ(xi)+b)−ξi≤0−ξi≤0i=1,2,...,N
當中
ϕ(xi)
是映射將原輸入樣本映射到希爾伯特空間的特征。
轉化為對偶形式例如以下:;
maxλs.t.−12∑i=1N∑j=1NλiλjyiyjϕT(xi)ϕ(xj)+∑i=1Nλi∑i=1Nλiyi=00≤λi≤C,i=1,2,...,N
終於化為帶核函數形式:
maxλs.t.−12∑i=1N∑j=1NλiλjyiyjK(xi,xj)+∑i=1Nλi∑i=1Nλiyi=00≤λi≤C,i=1,2,...,N
通過觀察發現,由原始的輸入的內積
xTix
,轉換到映射空間的內積
ϕT(xi)ϕ(xj)
,再轉換為核函數形式,整個學習的過程是隱式的在特征空間(希爾伯特空間)進行的嗎,而我們得到的顯式的結果是用核函數顯式的表達,這樣的技巧稱為
核技巧。
其實。僅僅要是學習算法中涉及輸入項的內積的函數,都能夠用核函數的方法取代內積操作。