一、svm的策略是結構風險最小化
1、幾何間隔
線性分類器比如感知機,目的是為了在空間中找出乙個超平面,這個超平面使得分類錯誤率最小。在進行分類的時候,資料集中所有的點都對分介面有影響。
而svm中使用幾何間隔,就是點到分介面的距離γi
,試想如果在某一類中離分介面最近的那個點與分介面的距離越大,顯然分類的確信度就越大。所以svm中對分介面有影響的就是那些距離分介面最近的支援向量而不是全部資料點了。
假設分介面為wt
x+b=
0 ,點a的座標為(x
i,yi
) ,注意這裡的座標xi
是向量,而yi
是對應的標籤,屬於。
由向量的計算得到b點的座標x=
xi−γ
iw||
w||
帶入分介面中得:γi
=yi(
wtxi
+b||
w||)
現在定義當wt
xi+b
>
1 時為正類,wt
xi+b
則為負類。
那麼我們將距離超平面最近的那個點距離定義為 γm
in=1
||w|
| 於是有最優化目標為:ma
xw,b
1||w
||,s
.t.y
i(wt
xi+b
)≥1,
i=1,
..m
現在問題變成了不等式約束的最優化問題。1|
|w||
中的||
w|| 是向量範數,最大化1|
|w||
等價於最小化12
||w|
|2
於是問題最終變成了二次規劃問題:mi
nw,b
12||
w||2
,s.t
.yi(
wtxi
+b)≥
1,i=
1,..
m2、結構風險最小化–拉格朗日對偶
假設乙個不等式約束問題:mi
nwf(
w),s
.t.g
i(w)
≤0,i
=1,.
.m
由朗格朗日運算元得:l(
w,α)
=f(w
)+∑m
1αig
i(w)
要求l(w,α
) 的最小化,因為α≥
0,gi
(w)≤
0 ,那麼可以使α≥
0 無窮大,使得最終結果無窮小,為了避免這種情況,所以首先先求對α≥
0 的l(
w,α)
最大化。即:l
(w)=
minw
maxα
il(w
,α)
轉換成對偶問題求解更方便,在滿足kkt條件的情況下:
對偶等價:l(
w)=m
axαi
minw
l(w,
α)
將svm的最優化目標和約束條件帶入:l(
w,b,
α)=1
2||w
||2−
∑m1α
i(yi
(wtx
i+b)
−1)
式中的第一項,如果||
w|| 是向量的2-範數,那麼12
||w|
|2就是12
∑m1w
2i。這不就是l-2正則項嗎?
第二項則是經驗風險啊。
於是我們可以看出,svm的策略就是結構風險最小化,自帶正則項。
二、核函式
1、內積
回到svm的kkt條件中:
kkt條件: ∂l
(w,b
,α)∂
w=w−
∑m1α
i(yi
xi)=
0 ∂
l(w,
b,α)
∂b=∑
m1αi
(yi)
=0
目標函式:ma
xαim
inwl
(w,b
,α)=
12||
w||2
−∑m1
αi(y
i(wt
xi+b
)−1)
=12w
tw−∑
m1αi
yiwt
xi−b
∑m1α
i(yi
)+∑m
1αi=
12wt
∑m1α
i(yi
xi)−
wt∑m
1αiy
ixi+
∑m1α
i=−1
2wt∑
m1αi
(yix
i)+∑
m1αi
=−12
∑m1α
jyj(
xj)t
∑m1α
i(yi
xi)+
∑m1α
i=−1
2∑m1
αjαi
yjyi
(xj)
txi+
∑m1α
i=∑m
1αi–
12∑m
1αjα
iyjy
i(xi
,xj)
其中(xi,x
j)則是向量內積
由於只計算原始特徵(x
i,xj
) 內積,就等價與計算對映後特徵的內積。
所以可以使用核函式,將在低維的資料對映到高維,從而可以解決非線性分類問題。同時,由於在低維中的計算等價於對映後的結果,又避免了計算量的問題。
2、求解引數αi
、w、b
之後的首先求出αi
,具體根據smo演算法,
然後根據公式∂l
(w,b
,α)∂
w=w−
∑m1α
i(yi
xi)=
0 ,可以求得:w=
∑m1α
i(yi
xi)
最後,根據正負間隔之間的距離相同,可以求得b:b=
maxy
i=−1
wtxi
+min
yi=1
wtxi
2三、svm與過擬合
1、雖然svm的目標函式採用結構風險最小化策略,但是由於svm在解決非線性分類的時候,引入了核函式,將低維的資料轉換到了高維的空間中。顯然維數越多,過擬合的風險越大。所以svm也會過擬合。
2、核函式中的高斯核函式可以將低維資料對映到無窮維中,為什麼對映到了無窮維中。
指數函式的泰勒展開式本身就是可以擴充套件到n維,高斯核只是引數換成了−|
|x1−
x2||
22δ2
。3、離群點對於svm同樣會造成過擬合的現象,現在單開一章…..
機器學習第六課 SVM(1)
1 在前幾個課程學習過程中沒有發現,後來才突然想到的乙個問題是 為什麼logistic 回歸依然算是線性分類器呢?在logistic回歸中,h x g theta x 而這個g z 1 1 exp z 在我的理解中它不應該屬於線性分類器了吧。解釋 我們判斷乙個新的輸入樣本屬於哪一類的時候,是依據 h...
機器學習 SVM演算法
經常遇到或用到svm演算法,不過都是用的別人的 並沒有深入的研究理解過。感覺很不應該,今天記錄一下自己的感受和理解。之前對svm的理解就是將資料對映到高維空間從而找到最優的分割平面。處理二維資料時,為一條分割線,三維時就是乙個超平面。當維度上公升,那就是尋找更高維的超平面。如何確定哪條分割線是最優的...
機器學習之SVM
支援向量機是一種二類分類模型。在介紹svm之前,需要先了解支援向量這一概念,支援向量是訓練樣本的乙個子集,這一子集是二類分類的決策邊界。在二類分類過程中,可能存在無數個能夠正確分離二類資料的超平面,如圖1所示。但是不是所有的超平面都在未知資料上執行的都很好,例如圖2中的超平面b 1 就比超平面b 2...