【機器學習】5.支持向量機

間隔與支持向量

給定數據集D={(x1,y1),(x2,y2),...,(xm,ym)\mathop (x_1,y_1),(x_2,y_2),...,(x_m,y_m)},yi[1,+1]\mathop y_i\in{[-1,+1]}訓練的基本思想就是基於訓練集D在樣本空間找到一個劃分超平面。
在這裏插入圖片描述在樣本空間中,劃分超平面可通過如下線性方程來描述
WTx+b=0W^Tx+b = 0
其中w=(w1,w2,...,wd)\mathop w = (w_1,w_2,...,w_d)爲法向量,決定超平面的方向,b爲位移量,決定超平面與原點治安的距離,記爲(w,b)
樣本空間中任意點x到超平面(w,b)的距離爲:
r=WTx+bwr = \frac{|W^Tx+b|}{||w||}
若將w,b等比例增大,例如2w,2b,超平面未改變,但函數間隔缺改變了,所以除以||w||。

若超平面劃分正確,則有:
{wTxi+b>0,yi=+1wTxi+b<0,yi=1\begin{cases} w^Tx_i+b>0, & y_i =+1 \\ w^Tx_i+b<0, & y_i =-1 \end{cases}
令:
{wTxi+b1,yi=+1wTxi+b1,yi=1\begin{cases} w^Tx_i+b \geq 1, & y_i =+1 \\ w^Tx_i+b \leq -1, & y_i =-1 \end{cases}
若訓練樣本使wTxi+b=±1\mathop w^Tx_i +b=\pm1,則被稱爲支持向量,兩個異類支持向量到超平面的距離之和成爲間隔。
r=2wr = \frac{2}{||w||}
欲找到最大化間隔的劃分超平面,即使r最大
maxw,b2ws.t.yi(wTxi+b1)max_{w,b}\frac{2}{||w||}_{s.t. y_i(w_Tx_i+b\geq 1)}

即:
minw,b0.5ws.t.yi(wTxi+b1)2min_{w,b}0.5||w||^2_{s.t. y_i(w_Tx_i+b\geq 1)}

對偶問題

根據minw,b0.5ws.t.yi(wTxi+b1)2\mathop min_{w,b}0.5||w||^2_{s.t. y_i(w_Tx_i+b\geq 1)}
  f(x)=wTx+b\mathop f(x) = w^Tx+b       求解得到最大間隔劃分超平面
使用拉格朗日乘子法
L(w,b,α)=12w2+i=1mαi(1yi(wT+b))L(w,b,\alpha) = \frac{1}{2}||w||^2 + \sum_{i=1}^m \alpha_i(1-y_i(w^T+b))
如此,問題就變成了:
maxαminw,bL(w,b,α)max_{\alpha} min_{w,b} L(w,b,\alpha)

對L(w,b,α)的w,b求偏導並等於0.
σLσw=wi=1mαiyixi=0\frac{\sigma L}{\sigma w} = w-\sum_{i=1}^m \alpha_iy_ix_i=0

σLσb=i=1mαigi=0\frac{\sigma L}{\sigma b} = \sum_{i=1}^m \alpha_ig_i = 0

代入原式中
L(w,b,α)=12(i=1mαiyixi)2i=1mαi(1yi(i=1mαiyixix+b))=i=1mαi12i=1mj=1mαiαjyiyjxixjL(w,b,\alpha) = \frac{1}{2}(\sum_{i=1}^m \alpha_iy_ix_i)^2 - \sum_{i=1}^m \alpha_i(1-y_i(\sum_{i=1}^m\alpha_iy_ix_i * x+b)) =\sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m \sum_{j=1}^m \alpha_i\alpha_jy_iy_jx_ix_j


maxαL(w,b,α)s.t.{i=1mαiyi=0α0max_\alpha L(w,b,\alpha)_{s.t. \begin{cases}\sum_{i=1}^m \alpha_iy_i=0 \\ \alpha \geq 0 \end{cases}}

maxαi=1mαi12i=1mj=1mαiαjyiyjxixjs.t.{α0i=1mαiyi=0{max_\alpha \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m \sum_{j=1}^m \alpha_i\alpha_jy_iy_jx_ix_j }_{s.t. \begin{cases} \alpha \geq 0 \\ \sum_{i=1}^m \alpha_iy_i=0 \end{cases}}

求解
f(x)=wTx+b=i=1mαiyixiTxi+bf(x) = w^Tx +b = \sum_{i=1}^m \alpha_iy_ix_i^Tx_i +b

核函數

在原始樣本空間內也許不存在一個能正確劃分兩類樣本的超平面,這是,我們可以將樣本從原始空間映射到一個更高維的特徵空間。
Φ(x)\mathop \Phi(x)表示將x映射後的特徵向量,則超平面爲:
f(x)=wTΦ(x)+bf(x)=w^T\Phi(x) +b
對應有
maxαi=1mαi12i=1mj=1mαiαjyiyjΦ(xi)Φ(xj)s.t.{α0i=1mαiyi=0{max_\alpha \sum_{i=1}^m\alpha_i - \frac{1}{2}\sum_{i=1}^m \sum_{j=1}^m \alpha_i\alpha_jy_iy_j(\Phi(x_i)*\Phi(x_j))}_{s.t. \begin{cases} \alpha \geq 0 \\ \sum_{i=1}^m \alpha_iy_i=0 \end{cases}}
因爲 Φ(xi)Φ(xj)\mathop \Phi(x_i)*\Phi(x_j)難以計算,所以設想一個函數k
K(xi,xj)=<Φ(xi),Φ(xj)>=Φ(xi)Φ(xj)K(x_i,x_j) = <\Phi(x_i),\Phi(x_j)> = \Phi(x_i)*\Phi(x_j)
我們稱K<·,·>爲核函數
令x爲輸入空間,K<·,·>是定義在xxx上的對稱函數,當且僅當對於任意數據D=[X1,X2,..,xm]\mathop D=[X_1,X_2,..,x_m],核矩陣k總是半正定的,k使核函數。

K=[k(x1,x1)...k(x1,xj)...k(x1,xm)............k(xi,x1)...k(xi,xj)...k(xi,xm)............k(xm,x1)...k(xm,xj)...k(xm,xm)]K = \begin{bmatrix} k(x_1,x_1) & ... & k(x_1,x_j) & ... &k(x_1,x_m) \\..& ...&..&...&.. \\ k(x_i,x_1) &...&k(x_i,x_j)&...& k(x_i,x_m) \\..& ...&..&...&.. \\ k(x_m,x_1)&...&k(x_m,x_j)&...&k(x_m,x_m) \end{bmatrix}
常用核函數
k(xi,yi)=xiyik(x_i,y_i)=x_iy_i

k(xi,yi)=(xiyi)dk(x_i,y_i)=(x_iy_i)^d

k(xi,yi)=exp(xixj22σ2)k(x_i,y_i)=exp(-\frac{||x_i-x_j||^2}{2\sigma^2})

................

軟間隔和正則化

軟間隔是允許某些樣本不滿足條件
yi(wTxi+b)1y_i(w^Tx_i + b) \geq 1
於是優化目標可以寫成
minw,b12w2+ci=1mτ0/1(yi(wTxi+b)1)min_{w,b} \frac{1}{2}||w||^2 + c \sum_{i=1}^m\tau_{0/1}(y_i(w^Tx_i+b)-1)
其中C是大於0的常熟,τ0/1\mathop \tau_{0/1}是0/1的損失函數
{1,if z<00,otherwise\begin{cases}1 , &&\text{if z<0} \\ 0,&& \text{otherwise}\end{cases}
當C爲無窮大時,則等價爲硬間隔,τ0/1\mathop \tau_{0/1}的數學性質不好,所以使用代替函數,常見有:
hinge損失:ιhinge(z)=max(0,1z)\mathop \iota_{hinge}(z) = max(0,1-z)
指數損失:ιexp(z)=exp(z)\mathop \iota_{exp}(z) = exp(-z)
對率損失:ιlog(z)=log(1+exp(z))\mathop \iota_{log}(z) = log(1+exp(-z))
使用hinge損失,可將原始改爲:
minw,b12w2+ci=1mmax(0,1yi(wTxi+b))min_{w,b} \frac{1}{2}||w||^2 + c \sum_{i=1}^mmax(0,1-y_i(w^Tx_i+b))

引入鬆弛變量ξi0\mathop \xi_i\geq0
minw,b,ξ1/2w2+ci=1mξimin_{w,b,\xi} 1/2||w||^2 + c\sum_{i=1}^m\xi_i

s.t.yi(wTxi+b)1ξis.t. y_i(w^Tx_i+b)\geq 1-\xi_i

ξi0\xi_i\geq0

拉格朗日乘子法
L(w,b,α,ξ,μ)=1/2w2+ci=1mξi+i=1mαi(1ξiyi(wTxi+b))i=1mμiξiL(w,b,\alpha,\xi,\mu) = 1/2 ||w||^2+c\sum_{i=1}^m\xi_i+\sum_{i=1}^m\alpha_i(1-\xi_i-y_i(w^Tx_i+b))-\sum_{i=1}^m\mu_i\xi_i
w,b,ξ\mathop w,b,\xi求偏導。
w=i=1mαiyixiw = \sum_{i=1}^m\alpha_iy_ix_i

0=i=1mαiyi0 = \sum_{i=1}^m\alpha_iy_i

c=αi+μic=\alpha_i+\mu_i

代入:
maxαii=1mαi1/2i=1mj=1mαiαjyiyixixjmax_{\alpha_i} \sum_{i=1}^m\alpha_i - 1/2\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_ix_ix_j

s.t.i=1mαiyi=0s.t. \sum_{i=1}^m\alpha_iy_i=0

0αic0\leq\alpha_i\leq c

支持向量機迴歸

支持向量機迴歸能容忍f(x)y\mathop f(x) 與 y之間有ξ\mathop \xi的偏差,這就相當於以f(x)\mathop f(x)爲中心,構建了一個寬度爲2ξ\mathop2\xi的間隔帶,只有訓練樣本落入間隔帶,則認爲是正確預測。
minw,b1/2w2+ci=1mζe(f(xi)yi)min_{w,b}1/2||w||^2 + c\sum_{i=1}^m\zeta_e(f(x_i)-y_i)
其中c爲正則化常數,
ζe(z)={0,ifzϵzϵ,otherwise\zeta_e(z)=\begin{cases} 0 , & if |z|\leq \epsilon \\ |z|-\epsilon , & otherwise\end{cases}
引入鬆弛變量,可改寫爲:
minw,b,ξi,ξ^i1/2w2+ci=1m(ξi+ξ^i)min_{w,b,\xi_i,\hat\xi_i} 1/2||w||^2 + c\sum_{i=1}^m(\xi_i+\hat\xi_i)

s.t.f(xi)yiϵi+ξis.t. f(x_i)-y_i \leq\epsilon_i+\xi_i

yif(xi)ϵi+ξ^iy_i-f(x_i)\leq\epsilon_i+\hat\xi_i

ξi0,ξ^i0\xi_i\geq0 ,\hat\xi_i\geq0
引入拉格朗日乘子
L(w,b,α,α^,ξ,ξ^,μ,μ^)=1/2w2+ci=1m(ξ+ξ^)i=1mμiξii=1mμ^iξ^i+i=1mαi(f(xi)yiϵϵi)+i=1mα^i(yif(si)ϵξ^i)L(w,b,\alpha,\hat\alpha,\xi,\hat\xi,\mu,\hat\mu) = 1/2||w||^2+c\sum_{i=1}^m(\xi+\hat\xi)-\sum_{i=1}^m\mu_i\xi_i-\sum_{i=1}^m\hat\mu_i\hat\xi_i+\sum_{i=1}^m\alpha_i(f(x_i)-y_i-\epsilon-\epsilon_i)+\sum_{i=1}^m\hat\alpha_i(y_i-f(s_i)-\epsilon-\hat\xi_i)

w,b,ξi,ξ^i\mathop w,b,\xi_i,\hat\xi_i求偏導爲零
w=i=1m(α^iαi)xiw=\sum_{i=1}^m(\hat\alpha_i-\alpha_i)x_i

0=i=1m(α^iαi)0 = \sum_{i=1}^m(\hat\alpha_i-\alpha_i)

c=αi+μi=α^i+μ^ic = \alpha_i +\mu_i=\hat\alpha_i+\hat\mu_i

代入上述L(w,b,α,α^,ξ,ξ^,μ,μ^)\mathop L(w,b,\alpha,\hat\alpha,\xi,\hat\xi,\mu,\hat\mu)中:

maxα,α^i=1m(α^iαi)ϵ(α^i+αi)1/2i=1mj=1m(α^iα)(α^jα)xixjmax_{\alpha,\hat\alpha}\sum_{i=1}^m(\hat\alpha_i-\alpha_i)-\epsilon(\hat\alpha_i+\alpha_i)-1/2\sum_{i=1}^m\sum_{j=1}^m(\hat\alpha_i-\alpha)(\hat\alpha_j-\alpha)x_ix_j

s.t.i=1m(α^iαi)=0s.t. \sum_{i=1}^m(\hat\alpha_i-\alpha_i)=0

0(αi,α^i)c0\leq(\alpha_i,\hat\alpha_i)\leq c

核方法

定理:令H爲核函數k對用的再生和希爾伯特空間,||h||H表示H空間中關於h的範數,對於任意單調遞增函數 Ω:[0,]R\mathop \Omega:[0,\infty] \to R和任意非負損失函數ϑ:Rm[0,]\mathop \vartheta:R^m \to [0,\infty],優化問題
minhHF(h)=Ω(hH)+ϑ(h(x1),h(x2),...,h(xm))min_{h\in H}F(h)=\Omega(||h||_H) + \vartheta(h(x_1),h(x_2),...,h(x_m))

的解總可以寫爲:

h(x)=i=1mαik(x,xi)h^*(x)=\sum_{i=1}^m\alpha_ik(x,x_i)

發佈了36 篇原創文章 · 獲贊 20 · 訪問量 4120
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章