一、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)
但是在求解這一最優化問題時,求解較爲困難,且對於線性不可分的數據無法得到較好的分類超平面,因此根據拉格朗日對偶性,引進原最優化問題的對偶問題,通過求解對偶問題得到原始問題的最優解。
對偶問題的引進有兩個方面,一是對偶問題的求解往往比原問題容易,二是對於線性不可分的數據可以通過加鬆弛變量、加核函數的方法,將其推廣到非線性分類。
二、原始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) 比較容易,而通過
ϕ(x) 和
ϕ(y) 計算
K(x,y) 並不容易。比較常用的核函數——高斯核函數:
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) ,再轉換爲核函數形式,整個學習的過程是隱式的在特徵空間(希爾伯特空間)進行的嗎,而我們得到的顯式的結果是用核函數顯式的表達,這種技巧稱爲
核技巧。
事實上,只要是學習算法中涉及輸入項的內積的函數,都可以用核函數的方法代替內積操作。