支持向量机(SVM,Support Vector Machine)

0 前言

这篇博客中公式比较多,可能比较乏味,但是有些细节还是很有意思的,所以做了笔记以供后续查阅,如果遇到不懂得,建议先当做定理记住往下看,通读全文有个大概的了解,再回过头来思考,可能就会明白。由于水平有限,可能会有错误,欢迎指正。

1 线性可分和线性不可分

线性可分指的是可以用一个线性函数将两类样本分开(注意这里是线性函数),比如在二维空间中的直线,三维空间中的平面以及高维空间中的超平面。这里指的可分是没有一丝误差的分开,线性不可分指的就是部分样本用线性分类面划分时会产生分类错误的现象。
线性可分和线性不可分

2 支持向量与间隔

下图中两个平行虚线之间的距离叫做间隔(Margin),两个平行虚线插到的向量叫做支持向量(Support Vector)。
在这里插入图片描述
定义:
(1)、训练数据和标签(x1,y1),(x2,y2)…(xN,yN).其中x表示向量(可能很多维),y为标签∈{+1,-1}。
(2)、线性模型
对于参数(W,b),其中W也是一个向量,维度和(1)的x维度一样,b为常数。 W T X W^{T}X WTX+b=0表示一个超平面(Hyperplane)。
(3)、一个训练集线性可分是指对训练集{[xi,yi]}, 其中i=1~N,∃(W,b)使得对∀的
i=1~N,有
(a)若yi=+1,则WTXi+b≥0
(b)若yi=-1,则WTXi+b<0
则有
y i [ W T X i + b ] ≥ 0 (1) y_i[W^{T}X_i+b]≥0 \tag{1} yi[WTXi+b]0(1)

3 支持向量机的优化问题(凸优化问题,二次规划问题):

最小化(如果看不懂,就先当公式记着,往下看,后面会有解释): 1 2 ∣ ∣ W ∣ ∣ 2 (2) \frac{1}{2}||W||^{2} \tag{2} 21∣∣W2(2)
等于 1 2 {1\over2} 21(w12+w22+…+wm2).
限制条件(Subject to):
y i [ W T x i + b ] ≥ 0. y_i[W^Tx_i+b]≥ 0. yi[WTxi+b]0.其中(i=1~N).

4 二次规划(Quadratic Programming):

(1)、目标函数(Objective Function)二次项
(2)、限制条件一次项
这种情况下,要么无解,要么只有一个极小值。

事实1: W T W^{T} WTX+b=0与a W T W^{T} WTX+ab=0是同一平面,a∈ R + R^{+} R+。若(W,b)满足公式1,则(aW,ab)也满足公式1.
事实2:点到平面的距离公式。
平面:W1x+W2y+b=0.
则(x0,y0)到此平面的距离公式为:
d = ∣ W 1 x 0 + W 2 y 0 + b ∣ W 1 2 + W 2 2 d= \frac{|W_1x_0+W_2y_0+b|}{\sqrt{W_1^2+W_2^2}} d=W12+W22 W1x0+W2y0+b
在高维情况下,向量x0到超平面 W T W^{T} WTx+b=0的距离:
d = ∣ W T x 0 + b ∣ ∣ ∣ W ∣ ∣ d= \frac{|W^Tx_0+b|}{||W||} d=∣∣W∣∣WTx0+b

其中||W||等于 w 1 1 + w 2 2 + . . . + w m 2 \sqrt{w_1^1+w_2^2+...+w_m^2} w11+w22+...+wm2
我们可以用a去缩放
( W , b ) − − > ( a W , a b ) (W,b)-->(aW,ab) (W,b)>(aW,ab)
最终使在支持向量x0上有:
∣ W T x 0 + b ∣ = 1 |W^Tx_0+b|=1 WTx0+b=1
此时支持向量与平面距离:
d = 1 ∣ ∣ W ∣ ∣ d=\frac{1}{||W||} d=∣∣W∣∣1
在这里可以看到,SVM就是要最大化 d d d,其实就是最小化 ∣ ∣ W ∣ ∣ 2 ||W||^2 ∣∣W2,而公式(2)乘上 1 2 \frac{1}{2} 21变成最小化 1 2 ∣ ∣ W ∣ ∣ 2 \frac{1}{2}||W||^2 21∣∣W2,只是为了后期求导方便,对结果没有影响。

5 SVM处理非线性

在SVM中可能会存在一些噪声使优化问题不可解,解决办法就是利用松弛变量允许一些点不满足原先的要求,即约束条件中增加一个松弛项参数,变成
①最小化:
1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ i = 1 n ε i . (3) {1\over2}||W||^2+C\sum_{i=1}^{n}\varepsilon_i.\tag{3} 21∣∣W2+Ci=1nεi.(3)
限制条件:
(1)、 y i [ W T x i + b ] ≥ 1 − ε i . y_i[W^Tx_i+b]≥1-\varepsilon_i. yi[WTxi+b]1εi.(i=1~N).
其中公式(3)中的 C ∑ i = 1 n ε i C\sum_{i=1}^{n}\varepsilon_i Ci=1nεi叫做正则项(Regulation Term), ε i \varepsilon_i εi叫做松弛变量(Slack Variable),C为事先是定的参数(我理解为超参数)。
(2)、 ε i ≥ 0. \varepsilon_i≥0. εi0.
可以看到, ε i \varepsilon_i εi为无穷大时,限制条件(1)肯定成立,所以在最小化的时候将 ε i \varepsilon_i εi加入到目标函数,防止 ε i \varepsilon_i εi特别大。这样在优化的时候就会使Margin尽可能大,每个 ε i \varepsilon_i εi尽可能的小。
②高维映射 φ ( x ) \varphi(x) φ(x).
x − > φ ( x ) x->\varphi(x) x>φ(x)其中x为低维数据, φ ( x ) \varphi(x) φ(x)为高维数据.
这么做的原因是在现实任务中,有些样本空间也许不存在一个超平面可以把数据线性分开,例如下图中的异或问题,所以将低维映射成高维,再找一个超平面就可以将数据线性分开,下面为将一个低维数据映射成高维数据后,原本线性不可分变为线性可分的例子。
异或问题
在上图中x1=[0,0]T ∈ \in C1,x2=[1,1]T ∈ \in C1,x3=[1,0]T ∈ \in C2,x4=[0,1]T ∈ \in C2,此时是找不到一条直线将这两类分开,将x进行 φ ( x ) \varphi(x) φ(x)的映射可得:
x = [ a , b ] T − > φ ( x ) = [ a 2 , b 2 , a , b , a b ] T . x=[a,b]^T ->\varphi(x)=[a^2,b^2,a,b,ab]^T. x=[a,b]T>φ(x)=[a2,b2,a,b,ab]T.
此时 φ ( x 1 ) = [ 0 , 0 , 0 , 0 , 0 ] T ∈ C 1 , φ ( x 2 ) = [ 1 , 1 , 1 , 1 , 1 ] T ∈ C 1 , φ ( x 3 ) = [ 1 , 0 , 1 , 0 , 0 ] T ∈ C 2 , φ ( x 4 ) = [ 0 , 1 , 0 , 1 , 0 ] T ∈ C 2 . \varphi(x_1)=[0,0,0,0,0]^T\in C_1,\varphi(x_2)=[1,1,1,1,1]^T\in C_1,\varphi(x_3)=[1,0,1,0,0]^T \in C_2,\varphi(x_4)=[0,1,0,1,0]^T\in C_2. φ(x1)=[0,0,0,0,0]TC1,φ(x2)=[1,1,1,1,1]TC1,φ(x3)=[1,0,1,0,0]TC2,φ(x4)=[0,1,0,1,0]TC2. W = [ − 1 , − 1 , − 1 , − 1 , 6 ] T W=[-1,-1,-1,-1,6]^T W=[1,1,1,1,6]T,b=1时(W,b不唯一),此时
W T φ ( x 1 ) + b = 1 ∈ C 1 W^T\varphi(x_1)+b=1\in C_1 WTφ(x1)+b=1C1,
W T φ ( x 2 ) + b = 3 ∈ C 1 W^T\varphi(x_2)+b=3\in C_1 WTφ(x2)+b=3C1,
W T φ ( x 3 ) + b = − 1 ∈ C 2 W^T\varphi(x_3)+b=-1\in C_2 WTφ(x3)+b=1C2,
W T φ ( x 4 ) + b = − 1 ∈ C 2 W^T\varphi(x_4)+b=-1\in C_2 WTφ(x4)+b=1C2
就可以被线性分开。
结论:如果原始空间是有限维,即属性有限,那么一定存在一个高维特征空间使样本线性可分,换句话说,在低维空间线性不可分的数据到高维空间里面将会以很大的概率被线性分开,这就是SVM引入 φ ( x ) \varphi(x) φ(x)将低维数据映射成高维数据的原因。
这就迎来了新的问题,当 φ ( x ) \varphi(x) φ(x)为无限维时,超平面的W也要为无限维,所以就引入了核函数。

6 核函数

引入核函数的原因就是可以不知道无限维映射 φ ( x ) \varphi(x) φ(x)的显示表达式的情况下,只要知道一个核函数(Kernel Function)
K ( x 1 , x 2 ) = φ ( x 1 ) T φ ( x 2 ) . K(x_1, x_2)=\varphi(x_1)^T\varphi(x_2). K(x1,x2)=φ(x1)Tφ(x2).
SVM的优化问题仍然可解.

6.1 常用核函数

6.1.1 高斯核

K ( x 1 , x 2 ) = e − ∣ ∣ x 1 − x 2 ∣ ∣ 2 2 σ 2 = φ ( x 1 ) T φ ( x 2 ) . K(x_1,x_2)=e^{-{||x_1-x_2||^2}\over{2\sigma^2}}=\varphi(x_1)^T\varphi(x_2). K(x1,x2)=e2σ2∣∣x1x22=φ(x1)Tφ(x2).

6.1.2 多项式核:

K ( x 1 , x 2 ) = ( x 1 T x 2 + 1 ) d = φ ( x 1 ) T φ ( x 2 ) . K(x_1,x_2)=(x_1^Tx_2+1)^d=\varphi(x_1)^T\varphi(x_2). K(x1,x2)=(x1Tx2+1)d=φ(x1)Tφ(x2).其中d表示多项式阶数。

6.1.3 K ( x 1 , x 2 ) K(x_1,x_2) K(x1,x2)能写成 φ ( x 1 ) T φ ( x 2 ) \varphi(x_1)^T\varphi(x_2) φ(x1)Tφ(x2)的充要条件(Mercer’s Theorem):

1.K(x1,x2)=K(x2,x1)(交换性).
2.∀Ci(常数),xi(向量),有:
∑ i = 1 n ∑ j = 1 n C i C j K ( x i , x j ) ≥ 0. \sum_{i=1}^{n}\sum_{j=1}^{n}C_iC_jK(x_i,x_j)≥0. i=1nj=1nCiCjK(xi,xj)0.这个叫做半正定性.
满足这两个条件时就可以将低维特征进行高维映射,优化问题将变为:
最小化: 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ i = 1 n ε i . {1 \over 2} ||W||^2+C\sum_{i=1}^{n}\varepsilon_i. 21∣∣W2+Ci=1nεi.
限制条件:
y i [ W T φ ( x i ) + b ] ≥ 1 − ε i . y_i[W^T\varphi(x_i)+b]≥1-\varepsilon_i. yi[WTφ(xi)+b]1εi.(i=1~N)
就是将原限制条件的 x i x_i xi替换为 φ ( x i ) \varphi(x_i) φ(xi).

7 优化理论相关知识:

7.1 原问题(Prime Problem):

最小化:f(w).
限制条件:
gi(w)≤0,(i=1~K).
hi(w)=0,(i=1~M).
这是非常具有普适性的,当函数f(w)变为-f(w)时,这个就变成了最大化的问题,限制条件加个负号也可以改变成≥的。

7.2 对偶问题(Dual Problem):

①定义: L ( ω , α , β ) L(\omega,\alpha,\beta) L(ω,α,β)
L ( ω , α , β ) = f ( w ) + ∑ i = 1 k α i g i ( w ) + ∑ i = 1 m β i h i ( w ) L(\omega,\alpha,\beta)=f(w)+\sum_{i=1}^{k}\alpha_ig_i(w)+\sum_{i=1}^{m}\beta_ih_i(w) L(ω,α,β)=f(w)+i=1kαigi(w)+i=1mβihi(w)
这里的 α i \alpha_i αi β i \beta_i βi的维度原问题 g i g_i gi h i h_i hi是一样的。也可以写为向量的形式:
= f ( w ) + α T g ( w ) + β T h ( w ) . =f(w)+\alpha^Tg(w)+\beta^Th(w). =f(w)+αTg(w)+βTh(w).
②对偶问题定义:
最大化: θ ( α , β ) = i n f { L ( ω , α , β ) } \theta(\alpha,\beta)=inf{\{L(\omega,\alpha,\beta)}\} θ(α,β)=inf{L(ω,α,β)}, i n f { } inf\{\} inf{}是求{}里函数的最小值,表示在限定 α , β \alpha,\beta α,β的情况下,遍历所有的 ω \omega ω L ( ω , α , β ) L(\omega,\alpha,\beta) L(ω,α,β)的最小值。就是每确定一个 α , β \alpha,\beta α,β都可以遍历 ω \omega ω求出函数 L ( ω , α , β ) L(\omega,\alpha,\beta) L(ω,α,β)最小值,然后在这些最小值里面确定一个 θ ( α , β ) \theta(\alpha,\beta) θ(α,β)最大值,而 θ ( α , β ) \theta(\alpha,\beta) θ(α,β)也只是和 α , β \alpha,\beta α,β这两个参数有关,这里有点绕,就是从一些确定的最小值里面找最大值。
限制条件: α i ≥ 0. \alpha_i≥0. αi0.(i=1~K)
原问题与对偶问题的关系:
定理:如果 ω ∗ \omega^* ω是原问题的解,而 α ∗ , β ∗ \alpha^*,\beta^* α,β是对偶问题的解,则有:
f ( ω ∗ ) ≥ θ ( α ∗ , β ∗ ) . f(\omega^*)≥\theta(\alpha^*,\beta^*). f(ω)θ(α,β).
因为:
θ ( α ∗ , β ∗ ) = i n f { L ( ω , α ∗ , β ∗ ) } ≤ L ( ω ∗ , α ∗ , β ∗ ) : \theta(\alpha^*,\beta^*)=inf\{L(\omega,\alpha^*,\beta^*)\}≤L(\omega^*,\alpha^*,\beta^*): θ(α,β)=inf{L(ω,α,β)}L(ω,α,β):
L ( ω ∗ , α ∗ , β ∗ ) = f ( ω ∗ ) + ∑ i = 1 K α i ∗ g i ( w ∗ ) + ∑ i = 1 M β i ∗ h i ( w ∗ ) . L(\omega^*,\alpha^*,\beta^*)=f(\omega^*)+\sum_{i=1}^{K}\alpha_i^*g_i(w^*)+\sum_{i=1}^{M}\beta_i^*h_i(w^*). L(ω,α,β)=f(ω)+i=1Kαigi(w)+i=1Mβihi(w).
其中 α i ∗ ≥ 0 , g i ∗ ≤ 0 , ∑ i = 1 M β i ∗ h i ( w ∗ ) = 0 , \alpha_i^*≥0,g_i^*≤0,\sum_{i=1}^{M}\beta_i^*h_i(w^*)=0, αi0gi0i=1Mβihi(w)=0所以 L ( ω ∗ , α ∗ , β ∗ ) ≤ f ( ω ∗ ) . L(\omega^*,\alpha^*,\beta^*)≤f(\omega^*). L(ω,α,β)f(ω).
定义: G = f ( ω ∗ ) − θ ( α ∗ , β ∗ ) ≥ 0. G G=f(\omega^*)-\theta(\alpha^*,\beta^*)≥0.G G=f(ω)θ(α,β)0.G叫做原问题与对偶问题的间距(Duality Gap).对于某些特定优化问题,可以证明G=0.

7.3 强对偶定理:

f ( w ) f(w) f(w)为凸函数,且 g ( w ) = A W + b , h ( w ) = C W + d g(w)=AW+b,h(w)=CW+d g(w)=AW+b,h(w)=CW+d, g ( w ) g(w) g(w) h ( w ) h(w) h(w)都为线性函数,则此优化问题的原问题与对偶问题的间距为0,即:

f ( w ∗ ) = θ ( α ∗ , β ∗ ) . f(w^*)=\theta(\alpha^*,\beta^*). f(w)=θ(α,β).

8 KKT条件

当想要 L ( ω ∗ , α ∗ , β ∗ ) = f ( ω ∗ ) L(\omega^*,\alpha^*,\beta^*)=f(\omega^*) L(ω,α,β)=f(ω)时,对∀的i=1~K, α i ∗ = 0 \alpha_i^*=0 αi=0 g i ∗ ( w ∗ ) = 0. g_i^*(w^*)=0. gi(w)=0.

9 SVM的优化原问题化为对偶问题:

9.1 SVM原问题:

最小化: 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ i = 1 n ε i . {1\over2}||W||^2+C\sum_{i=1}^{n}\varepsilon_i. 21∣∣W2+Ci=1nεi.
限制条件:
y i [ W T φ ( x i ) + b ] ≥ 1 − ε i . y_i[W^T\varphi(x_i)+b]≥1-\varepsilon_i. yi[WTφ(xi)+b]1εi.
ε i ≥ 0. \varepsilon_i≥0. εi0.
此时SVM的原问题要和原问题的限制条件做对应,对SVM的原问题进行改造:
最小化: 1 2 ∣ ∣ W ∣ ∣ 2 − C ∑ i = 1 n ε i . {1\over2}||W||^2-C\sum_{i=1}^{n}\varepsilon_i. 21∣∣W2Ci=1nεi.
限制条件:
1 + ε i − y i W T φ ( x i ) − y i b ≤ 0. 1+\varepsilon_i-y_iW^T\varphi(x_i)-y_ib≤0. 1+εiyiWTφ(xi)yib0.(就是 ε i \varepsilon_i εi加个负号,然后移到等式一边)
ε i ≤ 0. \varepsilon_i≤0. εi0.
注意:此时原问题的gi(w)≤0对应这里的①和②,没有hi(w)=0.

9.2 SVM的对偶问题:

最大化:
θ ( α , β ) = i n f { 1 2 ∣ ∣ w ∣ ∣ 2 − C ∑ i = 1 N ε i + ∑ i = 1 N β i ε i + ∑ i = 1 N α i [ 1 + ε i − y i W T φ ( x i ) − y i b ] } \theta(\alpha,\beta)=inf\{\frac{1}{2}||w||^2-C\sum_{i=1}^{N}\varepsilon_i+\sum_{i=1}^{N}\beta_i\varepsilon_i+\sum_{i=1}^{N}\alpha_i[1+\varepsilon_i-y_iW^T\varphi(x_i)-y_ib]\} θ(α,β)=inf{21∣∣w2Ci=1Nεi+i=1Nβiεi+i=1Nαi[1+εiyiWTφ(xi)yib]}
大括号里的值就等于 L ( ω , ε i , b ) L(\omega,\varepsilon_i,b) L(ω,εi,b).原问题的参数w对应到SVM的原问题参数就为 ω , ε i \omega,\varepsilon_i ω,εi和b.前两项就是照抄最小化原函数,后面两项是对偶问题的 ∑ i = 1 K α i ∗ g i ( w ∗ ) \sum_{i=1}^{K}\alpha_i^*g_i(w^*) i=1Kαigi(w),没有 ∑ i = 1 m β i h i ( w ) . \sum_{i=1}^{m}\beta_ih_i(w). i=1mβihi(w).
L ( ω , ε i , b ) L(\omega,\varepsilon_i,b) L(ω,εi,b)进行求导得:
∂ L ∂ ω = 0 − > ω = ∑ i = 1 N α i y i φ ( x i ) . \frac{\partial{L}}{\partial{\omega} }=0->\omega=\sum_{i=1}^{N}\alpha_iy_i\varphi(x_i). ωL=0>ω=i=1Nαiyiφ(xi).
∂ L ∂ ε i = 0 − > β i + α i = C . \frac{\partial{L}}{\partial{\varepsilon_i} }=0->\beta_i+\alpha_i=C. εiL=0>βi+αi=C.
∂ L ∂ b = 0 − > ∑ i = 1 N α i β i . \frac{\partial{L}}{\partial{b} }=0->\sum_{i=1}^{N}\alpha_i\beta_i. bL=0>i=1Nαiβi.
其中:
f ( w ) = 1 2 ∣ ∣ w ∣ ∣ 2 f(w)=\frac{1}{2}||w||^2 f(w)=21∣∣w2,则 ∂ F ∂ ω = ω \frac{\partial{F}}{\partial{\omega} }=\omega ωF=ω.
f ( w ) = W T X , f(w)=W^TX, f(w)=WTX, ∂ F ∂ W = X . \frac{\partial{F}}{\partial{W} }=X. WF=X.
将求导得到的值带入 θ ( α , β ) \theta(\alpha,\beta) θ(α,β),
θ ( α , β ) = ∑ i = 1 N α i + 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i w T φ ( x i ) \theta(\alpha,\beta)=\sum_{i=1}^{N}\alpha_i+\frac{1}{2}||w||^2-\sum_{i=1}^{N}\alpha_iy_iw^T\varphi(x_i) θ(α,β)=i=1Nαi+21∣∣w2i=1NαiyiwTφ(xi)
其中: 1 2 ∣ ∣ w ∣ ∣ 2 = 1 2 w T w = 1 2 ( ∑ i = 1 N α i y i φ ( x i ) ) T ( ∑ j = 1 N α j y j φ ( x j ) ) \frac{1}{2}||w||^2=\frac{1}{2}w^Tw=\frac{1}{2}(\sum_{i=1}^{N}\alpha_iy_i\varphi(x_i))^T(\sum_{j=1}^{N}\alpha_jy_j\varphi(x_j)) 21∣∣w2=21wTw=21(i=1Nαiyiφ(xi))T(j=1Nαjyjφ(xj))
= 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x i ) T φ ( x j ) . =\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jy_iy_j\varphi(x_i)^T\varphi(x_j). =21i=1Nj=1Nαiαjyiyjφ(xi)Tφ(xj).
注意:此时的 φ ( x i ) T φ ( x j ) = K ( x i , x j ) . \varphi(x_i)^T\varphi(x_j)=K(x_i,x_j). φ(xi)Tφ(xj)=K(xi,xj).
其中: − ∑ i = 1 N α i y i w T φ ( x i ) -\sum_{i=1}^{N}\alpha_iy_iw^T\varphi(x_i) i=1NαiyiwTφ(xi)
= − ∑ i = 1 N α i y i ( ∑ j = 1 N α j y j φ ( x j ) ) T = -\sum_{i=1}^{N}\alpha_iy_i(\sum_{j=1}^{N}\alpha_jy_j\varphi(x_j))^T =i=1Nαiyi(j=1Nαjyjφ(xj))T
= − ∑ i = 1 N ∑ j = 1 N α i α j y i y j φ ( x j ) T φ ( x i ) . =-\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_i\alpha_jy_iy_j\varphi(x_j)^T\varphi(x_i). =i=1Nj=1Nαiαjyiyjφ(xj)Tφ(xi).
注意:此时也有 φ ( x j ) T φ ( x i ) = K ( x i , x j ) . \varphi(x_j)^T\varphi(x_i)=K(x_i,x_j). φ(xj)Tφ(xi)=K(xi,xj).
所以:
θ ( α , β ) = θ ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α j α j y i y j K ( x i , x j ) . \theta(\alpha,\beta)=\theta(\alpha)=\sum_{i=1}^{N}\alpha_i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_j\alpha_jy_iy_jK(x_i,x_j). θ(α,β)=θ(α)=i=1Nαi21i=1Nj=1NαjαjyiyjK(xi,xj).
此时的限制条件为:
①0≤ α i \alpha_i αi≤C.
∑ i = 1 N α i y i = 0. \sum_{i=1}^{N}\alpha_iy_i=0. i=1Nαiyi=0.
这里的 β \beta β是不出现的,限制条件①是由 α i \alpha_i αi≥0, β \beta β≥0,和 α i \alpha_i αi+ β i \beta_i βi=C合成的条件。
这是一个凸优化问题,同时使用SMO算法求解。

由于 ω = ∑ i = 1 N α i y i φ ( x i ) \omega=\sum_{i=1}^{N}\alpha_iy_i\varphi(x_i) ω=i=1Nαiyiφ(xi),这样看来,想要求出 ω \omega ω好像还是要求出 φ ( x i ) \varphi(x_i) φ(xi),其实不用:
在测试时:
若 { W T φ ( x i ) + b ≥ 0 , 则 y = + 1 W T φ ( x i ) + b < 0 , 则 y = − 1 (2) 若 \begin{cases} W^T\varphi(x_i)+b≥0,& 则y=+1\\ W^T\varphi(x_i)+b<0,& 则y=-1 \end{cases} \tag{2} {WTφ(xi)+b0,WTφ(xi)+b0,y=+1y=1(2)
求等式(2)中的 W T φ ( x ) W^T\varphi(x) WTφ(x)
W T φ ( x ) = ∑ i = 1 N [ α i y i φ ( x i ) ] T φ ( x ) W^T\varphi(x)=\sum_{i=1}^{N}[\alpha_iy_i\varphi(x_i)]^T\varphi(x) WTφ(x)=i=1N[αiyiφ(xi)]Tφ(x)

= ∑ i = 1 N α i y i φ ( x i ) T φ ( x ) =\sum_{i=1}^{N}\alpha_iy_i\varphi(x_i)^T\varphi(x) =i=1Nαiyiφ(xi)Tφ(x)
= ∑ i = 1 N α i y i K ( x i , x ) =\sum_{i=1}^{N}\alpha_iy_iK(x_i,x) =i=1NαiyiK(xi,x)
求等式(2)中的b:
将KKT条件翻译过来:
∀的i=1~N,
①要么 β i = 0 , 要么 ε i = 0. \beta_i=0,要么\varepsilon_i=0. βi=0,要么εi=0.
②要么 α i = 0 \alpha_i=0 αi=0,要么 1 + ε i − y i W T φ ( x i ) − y i b = 0. 1+\varepsilon_i-y_iW^T\varphi(x_i)-y_ib=0. 1+εiyiWTφ(xi)yib=0.
注意:KKT条件里的 α i ∗ = 0 \alpha_i^*=0 αi=0对应这里的 α i = 0 \alpha_i=0 αi=0 β i = 0 \beta_i=0 βi=0,KKT条件里的 g i ∗ ( w ∗ ) = 0 g_i^*(w^*)=0 gi(w)=0对应这里的 ε i = 0 \varepsilon_i=0 εi=0 1 + ε i − y i W T φ ( x i ) − y i b = 0. 1+\varepsilon_i-y_iW^T\varphi(x_i)-y_ib=0. 1+εiyiWTφ(xi)yib=0.
取一个0< α i < C − > β i \alpha_i<C->\beta_i αiC>βi=C- α i > 0. \alpha_i>0. αi0.
此时 β i ≠ 0 − > ε i = 0. \beta_i≠0->\varepsilon_i=0. βi=0>εi=0.
α i ≠ 0 − > 1 + ε i − y i W T φ ( x i ) − y i b = 0. \alpha_i≠0->1+\varepsilon_i-y_iW^T\varphi(x_i)-y_ib=0. αi=0>1+εiyiWTφ(xi)yib=0.
b = 1 − y i W T φ ( x i ) y i = 1 − y i ∑ j = 1 N α i y i K ( x i , x j ) y i b=\frac{1-y_iW^T\varphi(x_i)}{y_i}=\frac{1-y_i\sum_{j=1}^{N}\alpha_iy_iK(x_i,x_j)}{y_i} b=yi1yiWTφ(xi)=yi1yij=1NαiyiK(xi,xj)
此时可以取0< α i \alpha_i αi<C中的多个 α i \alpha_i αi来求多个b,然后求一个b的平均值作为最终的结果b.

10 总结SVM的算法:

10.1 训练流程:

输入{(xi,yi)},i=1~N
(解优化问题)
最大化:
θ ( α ) = ∑ i = 1 N α i − 1 2 ∑ i = 1 N ∑ j = 1 N α j α j y i y j K ( x i , x j ) . \theta(\alpha)=\sum_{i=1}^{N}\alpha_i-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_j\alpha_jy_iy_jK(x_i,x_j). θ(α)=i=1Nαi21i=1Nj=1NαjαjyiyjK(xi,xj).
限制条件:
①0≤ α i \alpha_i αi≤C.
∑ i = 1 N α i y i = 0. \sum_{i=1}^{N}\alpha_iy_i=0. i=1Nαiyi=0.
算b,找一个0< α i \alpha_i αi<C,
b = 1 − y i ∑ j = 1 N α i y i K ( x i , x j ) y i b=\frac{1-y_i\sum_{j=1}^{N}\alpha_iy_iK(x_i,x_j)}{y_i} b=yi1yij=1NαiyiK(xi,xj)

10.2 测试流程:

输入:测试样本X.
若 { ∑ i − 1 N α i y i K ( x i , x ) + b ≥ 0 , 则 y = + 1 ∑ i − 1 N α i y i K ( x i , x ) + b < 0 , 则 y = − 1 (3) 若 \begin{cases} \sum_{i-1}^{N}\alpha_iy_iK(x_i,x)+b≥0,& 则y=+1\\ \sum_{i-1}^{N}\alpha_iy_iK(x_i,x)+b<0,& 则y=-1 \end{cases} \tag{3} {i1NαiyiK(xi,x)+b0,i1NαiyiK(xi,x)+b0,y=+1y=1(3)
仔细看这里的训练和测试都只含K(xi,x),所有的 φ ( x i ) \varphi(x_i) φ(xi)都被消掉了。
参考:
1、浙江大学机器学习
2、西瓜书
3、https://blog.csdn.net/weixin_42764932/article/details/111357865

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deep Play

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值