东边有棵树的博客# SVM算法理论推导
断断续续折腾了好几天,终于对SVM算法有了个大致的了解,趁热将自己的理解写下来,一方面加深自己的理解,另一方面以便日后有所遗忘时可随时查阅。理解有不对的地方,请大家多多批评指正。
(1)将原问题化为对偶问题
支持向量机的原问题:
最
小
化
:
1
2
∣
∣
W
∣
∣
2
+
C
∑
i
=
1
N
ξ
i
限
制
条
件
:
{
ξ
i
≥
0
i
=
1
⋯
N
y
i
[
W
T
φ
(
X
i
)
+
b
]
≥
1
−
ξ
i
i
=
1
⋯
N
(1)
最小化:\frac{1}{2}||W||^2+C\sum_{i=1}^N\xi_i\\ 限制条件: \begin{cases} \xi_i\ge0~~~i=1\cdots N\\ y_i[W^T\varphi(X_i)+b]\ge1-\xi_i~~~i=1\cdots N \end{cases}\tag{1}
最小化:21∣∣W∣∣2+Ci=1∑Nξi限制条件:{ξi≥0 i=1⋯Nyi[WTφ(Xi)+b]≥1−ξi i=1⋯N(1)
那这个原问题对应的对偶问题是什么样的形式呢?我们再来回顾一下原问题与对偶问题的定义:
原问题:
最
小
化
:
f
(
w
)
限
制
条
件
:
{
g
i
(
w
)
≤
0
i
=
1
⋯
K
h
i
(
w
)
=
0
i
=
1
⋯
M
(2)
最小化:~~~f(w)\\限制条件: \begin{cases} g_i(w)\leq0~~~i=1\cdots K\\ h_i(w)=0~~~i=1\cdots M \end{cases}\tag{2}
最小化: f(w)限制条件:{gi(w)≤0 i=1⋯Khi(w)=0 i=1⋯M(2)
定义一函数
L
(
w
,
α
,
β
)
L(w,\alpha,\beta)
L(w,α,β)为:
L
(
w
,
α
,
β
)
=
f
(
w
)
+
∑
i
=
1
K
α
i
g
i
(
w
)
+
∑
i
=
1
M
β
i
h
i
(
w
)
(3)
L(w,\alpha,\beta)=f(w)+ \sum_{i=1}^K\alpha_ig_i(w)+\sum_{i=1}^M\beta_ih_i(w)\tag{3}
L(w,α,β)=f(w)+i=1∑Kαigi(w)+i=1∑Mβihi(w)(3)
当然可以用矩阵写成简单的形式:
L
(
w
,
α
,
β
)
=
f
(
w
)
+
α
T
g
(
w
)
+
β
T
h
(
w
)
(4)
L(w,\alpha,\beta)=f(w)+\alpha^Tg(w)+\beta^Th(w) \tag{4}
L(w,α,β)=f(w)+αTg(w)+βTh(w)(4)
公式
(
3
)
(3)
(3)中
α
T
\alpha^T
αT和
g
(
w
)
g(w)
g(w)都是
K
K
K维的,而
β
T
\beta^T
βT和
h
(
w
)
h(w)
h(w)都是
M
M
M维的。则原问题的对偶问题为:
最
大
化
θ
(
α
,
β
)
=
inf
所
有
w
{
L
(
w
,
α
,
β
)
}
限
制
条
件
:
α
i
≥
0
(
i
=
1
⋯
K
)
(5)
最大化\quad\theta(\alpha,\beta)=\inf \limits_{所有w}\{~L(w,\alpha,\beta)~\}\\限制条件:\alpha_i~\ge~0\quad(i=1\cdots K)\tag{5}
最大化θ(α,β)=所有winf{ L(w,α,β) }限制条件:αi ≥ 0(i=1⋯K)(5)
其中
inf
所
有
w
{
L
(
w
,
α
,
β
)
}
\inf \limits_{所有w}\{~L(w,\alpha,\beta)~\}
所有winf{ L(w,α,β) }的意思是在限制
α
\alpha
α和
β
\beta
β的情况下遍历所有的
w
w
w求最小值,即每确定一个
α
\alpha
α和
β
\beta
β都能算出一个最小值,即每一个
α
\alpha
α和
β
\beta
β都对应一个值,很明显,这是
α
\alpha
α和
β
\beta
β的函数,故写作
θ
(
α
,
β
)
\theta(\alpha,\beta)
θ(α,β)。那么公式
(
4
)
(4)
(4)是针对所有的
α
\alpha
α和
β
\beta
β求最大值,即在所有的最小值中找最大的。
我们发现原问题和对偶问题的定义中原问题的限制条件都是小于等于0的,所以为了更好的进行改写,我们也需要对支持向量机的原问题,即公式
(
1
)
(1)
(1)进行适当的改写,这样就可以很方便的写出其对偶问题。我们看到,
(
1
)
(1)
(1) 中的限制条件都是大于等于0的,我们要将他们改成小于等于0的,以此对应于
(
2
)
(2)
(2)中的
g
i
(
w
)
≤
0
{g_i(w)\leq 0}
gi(w)≤0。具体改法如下:
首
先
将
ξ
i
≥
0
改
为
ξ
i
≤
0
则
(
1
)
中
的
最
小
化
的
目
标
函
数
就
要
改
为
:
1
2
∥
W
∥
2
−
C
∑
i
=
1
N
ξ
i
而
y
i
[
W
T
φ
(
X
i
)
+
b
]
≥
1
−
ξ
i
就
要
改
为
:
y
i
[
W
T
φ
(
X
i
)
+
b
]
≥
1
+
ξ
i
对
它
再
进
行
一
次
改
造
就
变
成
:
1
+
ξ
i
−
y
i
W
T
φ
(
X
i
)
−
y
i
b
≤
0
首先将\xi_i \ge0 改为\xi_i \leq0 \\ 则(1)中的最小化的目标函数就要改为 :\\ {\frac{1}{2} \|W\|^2-C \sum_{i=1}^N \xi_i}\\而y_i [W^T \varphi(X_i)+b] \ge1- \xi_i就要改为:\\ y_i [W^T \varphi(X_i)+b] \ge1+ \xi_i\\ 对它再进行一次改造就变成:\\1+\xi_i-y_iW^T\varphi(X_i)-y_ib\leq0\\
首先将ξi≥0改为ξi≤0则(1)中的最小化的目标函数就要改为:21∥W∥2−Ci=1∑Nξi而yi[WTφ(Xi)+b]≥1−ξi就要改为:yi[WTφ(Xi)+b]≥1+ξi对它再进行一次改造就变成:1+ξi−yiWTφ(Xi)−yib≤0
我们也可以看出
(
1
)
(1)
(1)中并没有对应于
(
2
)
(2)
(2)中
h
i
(
w
)
=
0
h_i(w)=0
hi(w)=0的限制条件。这样支持向量机的原问题
(
1
)
(1)
(1)就可以改写成如下形式的原问题:
最
小
化
:
1
2
∣
∣
W
∣
∣
2
−
C
∑
i
=
1
N
ξ
i
限
制
条
件
:
{
ξ
i
≤
0
i
=
1
⋯
N
1
+
ξ
i
−
y
i
W
T
φ
(
X
i
)
−
y
i
b
≤
0
i
=
1
⋯
N
(6)
最小化:\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i\\ \tag{6} 限制条件: \begin{cases} \xi_i\leq0~~~i=1\cdots N\\ 1+\xi_i-y_iW^T\varphi(X_i)-y_ib\leq0~~~i=1\cdots N \end{cases}
最小化:21∣∣W∣∣2−Ci=1∑Nξi限制条件:{ξi≤0 i=1⋯N1+ξi−yiWTφ(Xi)−yib≤0 i=1⋯N(6)
我们就可以写出其对偶问题为:
最
大
化
:
θ
(
α
,
β
)
=
inf
所
有
W
,
b
,
ξ
i
{
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
]
}
限
制
条
件
:
α
i
≥
0
,
β
i
≥
0
(7)
最大化:\theta(\alpha,\beta)=\inf \limits_{所有W,b,\xi_i}\{\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i+\sum_{i=1}^N\beta_i\xi_i+\sum_{i=1}^N\alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_ib]\}\tag{7}\\ 限制条件:\alpha_i\ge0,\beta_i\ge0
最大化:θ(α,β)=所有W,b,ξiinf{21∣∣W∣∣2−Ci=1∑Nξi+i=1∑Nβiξi+i=1∑Nαi[1+ξi−yiWTφ(Xi)−yib]}限制条件:αi≥0,βi≥0(7)
上式中的
α
i
,
β
i
\alpha_i,\beta_i
αi,βi就对应
(
5
)
(5)
(5)式中的
α
i
\alpha_i
αi。
(
2
)
(2)
(2)式中我们待求的是
w
w
w,而对应到
(
6
)
(6)
(6)式中我们待求的就是
W
,
b
,
ξ
i
W,b,\xi_i
W,b,ξi,所以在
(
7
)
(7)
(7)式中的
i
n
f
inf
inf下面是遍历所有的
W
,
b
,
ξ
i
W,b,\xi_i
W,b,ξi。
(2)对偶问题化简
为了方便,我们令:
L
(
W
,
b
,
ξ
i
)
=
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
]
(8)
L(W,b,\xi_i)=\frac{1}{2}||W||^2-C\sum_{i=1}^N\xi_i+\sum_{i=1}^N\beta_i\xi_i+\sum_{i=1}^N\alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_ib]\tag{8}
L(W,b,ξi)=21∣∣W∣∣2−Ci=1∑Nξi+i=1∑Nβiξi+i=1∑Nαi[1+ξi−yiWTφ(Xi)−yib](8)
遍历所有的
W
,
b
,
ξ
i
W,b,\xi_i
W,b,ξi求
L
(
W
,
b
,
ξ
i
)
L(W,b,\xi_i)
L(W,b,ξi)的最小值,我们利用
L
(
W
,
b
,
ξ
i
)
L(W,b,\xi_i)
L(W,b,ξi)对
W
,
b
,
ξ
i
W,b,\xi_i
W,b,ξi求偏导并使偏导为0来求,最终得到的最小值的表达式肯定是
α
,
β
\alpha,\beta
α,β的函数。
{
∂
L
∂
W
=
W
−
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
=
0
∂
L
∂
b
=
−
∑
i
=
1
N
α
i
y
i
=
0
∂
L
∂
ξ
i
=
−
N
C
+
N
β
i
+
N
α
i
=
0
(9)
\left\{ \begin{array}{c} \frac{\partial L}{\partial W}=W-\sum_{i=1}^N\alpha_iy_i\varphi(X_i)=0\\ \frac{\partial L}{\partial b}=-\sum_{i=1}^N\alpha_i y_i=0\\ \frac{\partial L}{\partial \xi_i}=-NC+N\beta_i+N\alpha_i=0\tag{9} \end{array} \right.
⎩⎪⎨⎪⎧∂W∂L=W−∑i=1Nαiyiφ(Xi)=0∂b∂L=−∑i=1Nαiyi=0∂ξi∂L=−NC+Nβi+Nαi=0(9)
进一步可推得:
W
=
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
(10)
W=\sum_{i=1}^N\alpha_iy_i\varphi(X_i)\tag{10}
W=i=1∑Nαiyiφ(Xi)(10)
∑ i = 1 N α i y i = 0 (11) \sum_{i=1}^N\alpha_i y_i=0\tag{11} i=1∑Nαiyi=0(11)
α i + β i = C (12) \alpha_i+\beta_i = C \tag{12} αi+βi=C(12)
将式
(
10
)
、
(
11
)
、
(
12
)
(10)、(11)、(12)
(10)、(11)、(12)带入公式
(
7
)
(7)
(7)得:
最
大
化
:
θ
(
α
,
β
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
y
i
y
j
α
i
α
j
φ
(
X
i
)
T
φ
(
X
j
)
(13)
最大化:\theta(\alpha,\beta)=\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\tag{13}
最大化:θ(α,β)=i=1∑Nαi−21i=1∑Nj=1∑Nyiyjαiαjφ(Xi)Tφ(Xj)(13)
计算时比较麻烦的是
1
2
∣
∣
W
∣
∣
2
\frac{1}{2}||W||^2
21∣∣W∣∣2,这里将计算过程记录一下。
∣
∣
W
∣
∣
2
||W||^2
∣∣W∣∣2可以写作:
∣
∣
W
∣
∣
2
=
W
T
W
=
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
T
∑
j
=
1
N
α
j
y
j
φ
(
X
j
)
(14)
||W||^2=W^TW=\sum_{i=1}^N\alpha_iy_i\varphi(X_i)^T \sum_{j=1}^N\alpha_jy_j\varphi(X_j)\tag{14}
∣∣W∣∣2=WTW=i=1∑Nαiyiφ(Xi)Tj=1∑Nαjyjφ(Xj)(14)
将公式
(
14
)
(14)
(14)展开就可以得到:
∣
∣
W
∣
∣
2
=
[
α
1
y
1
φ
(
X
1
)
T
+
α
2
y
2
φ
(
X
2
)
T
+
α
3
y
3
φ
(
X
3
)
T
+
⋯
+
α
N
y
N
φ
(
X
N
)
T
]
∗
[
α
1
y
1
φ
(
X
1
)
+
α
2
y
2
φ
(
X
2
)
+
α
3
y
3
φ
(
X
3
)
+
⋯
+
α
N
y
N
φ
(
X
N
)
]
(15)
||W||^2 = [\alpha_1 y_1 \varphi(X_1)^T+\alpha_2 y_2 \varphi(X_2)^T+\alpha_3 y_3 \varphi(X_3)^T+\cdots +\alpha_N y_N \varphi(X_N)^T]\\*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\tag{15}
∣∣W∣∣2=[α1y1φ(X1)T+α2y2φ(X2)T+α3y3φ(X3)T+⋯+αNyNφ(XN)T]∗[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)+⋯+αNyNφ(XN)](15)
则将式
(
15
)
(15)
(15)中第一行中括号里的变量分别乘以整个第二行整个中括号的表达式,然后再加起来即可:
∣
∣
W
∣
∣
2
=
α
1
y
1
φ
(
X
1
)
T
∗
[
α
1
y
1
φ
(
X
1
)
+
α
2
y
2
φ
(
X
2
)
+
α
3
y
3
φ
(
X
3
)
+
⋯
+
α
N
y
N
φ
(
X
N
)
]
+
α
2
y
2
φ
(
X
2
)
T
∗
[
α
1
y
1
φ
(
X
1
)
+
α
2
y
2
φ
(
X
2
)
+
α
3
y
3
φ
(
X
3
)
+
⋯
+
α
N
y
N
φ
(
X
N
)
]
+
α
3
y
3
φ
(
X
3
)
T
∗
[
α
1
y
1
φ
(
X
1
)
+
α
2
y
2
φ
(
X
2
)
+
α
3
y
3
φ
(
X
3
)
+
⋯
+
α
N
y
N
φ
(
X
N
)
]
⋯
+
α
N
y
N
φ
(
X
N
)
T
∗
[
α
1
y
1
φ
(
X
1
)
+
α
2
y
2
φ
(
X
2
)
+
α
3
y
3
φ
(
X
3
)
+
⋯
+
α
N
y
N
φ
(
X
N
)
]
(16)
||W||^2 = \alpha_1 y_1 \varphi(X_1)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ +\alpha_2 y_2 \varphi(X_2)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ +\alpha_3 y_3 \varphi(X_3)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\\ \cdots\\ +\alpha_N y_N \varphi(X_N)^T*[\alpha_1 y_1 \varphi(X_1)+\alpha_2 y_2 \varphi(X_2)+\alpha_3 y_3 \varphi(X_3)+\cdots +\alpha_N y_N \varphi(X_N)]\tag{16}
∣∣W∣∣2=α1y1φ(X1)T∗[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)+⋯+αNyNφ(XN)]+α2y2φ(X2)T∗[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)+⋯+αNyNφ(XN)]+α3y3φ(X3)T∗[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)+⋯+αNyNφ(XN)]⋯+αNyNφ(XN)T∗[α1y1φ(X1)+α2y2φ(X2)+α3y3φ(X3)+⋯+αNyNφ(XN)](16)
而我们又知道两个
∑
\sum
∑在一起,表示第一个固定的情况下,第二个从头改变到到尾,然后第一个再改变一下,第二个再从头改变到尾,一直到第一个改变到最后,把整个过程加起来。所以上面的
(
16
)
(16)
(16)式就可以写作:
∣
∣
W
∣
∣
2
=
∑
i
=
1
N
∑
j
=
1
N
y
i
y
j
α
i
α
j
φ
(
X
i
)
T
φ
(
X
j
)
(17)
||W||^2 = \sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\tag{17}
∣∣W∣∣2=i=1∑Nj=1∑Nyiyjαiαjφ(Xi)Tφ(Xj)(17)
接下来我们来看限制条件有什么变化:
因
为
:
α
i
≥
0
,
β
i
≥
0
根
据
公
式
(
12
)
又
可
知
:
α
i
+
β
i
=
C
所
以
可
得
:
0
≤
α
i
≤
C
根
据
公
式
(
11
)
又
有
:
∑
i
=
1
N
α
i
y
i
=
0
因为:\alpha_i \ge 0,\beta_i \ge0\\根据公式(12)又可知:\alpha_i+\beta_i = C\\ 所以可得:0 \leq \alpha_i \leq C\\ 根据公式(11)又有:\sum_{i=1}^N\alpha_i y_i=0
因为:αi≥0,βi≥0根据公式(12)又可知:αi+βi=C所以可得:0≤αi≤C根据公式(11)又有:i=1∑Nαiyi=0
所以最终可得对偶问题化简以后问题为:
最
大
化
:
θ
(
α
,
β
)
=
∑
i
=
1
N
α
i
−
1
2
∑
i
=
1
N
∑
j
=
1
N
y
i
y
j
α
i
α
j
φ
(
X
i
)
T
φ
(
X
j
)
限
制
条
件
:
{
0
≤
α
i
≤
C
i
=
1
⋯
N
∑
i
=
1
N
α
i
y
i
=
0
i
=
1
⋯
N
(18)
最大化:\theta(\alpha,\beta)=\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^Ny_iy_j\alpha_i\alpha_j\varphi(X_i)^T\varphi(X_j)\\ 限制条件:\begin{cases} 0 \leq \alpha_i \leq C ~~~i=1\cdots N\\ \sum_{i=1}^N\alpha_i y_i=0~~~i=1\cdots N \end{cases}\tag{18}
最大化:θ(α,β)=i=1∑Nαi−21i=1∑Nj=1∑Nyiyjαiαjφ(Xi)Tφ(Xj)限制条件:{0≤αi≤C i=1⋯N∑i=1Nαiyi=0 i=1⋯N(18)
其中的
φ
(
X
i
)
T
φ
(
X
j
)
\varphi(X_i)^T\varphi(X_j)
φ(Xi)Tφ(Xj)正好是核函数,从这点可看出我们并不需要知道
φ
(
X
)
\varphi(X)
φ(X) 的显示表达就可进行求解。同时这也是一个二次规划问题,可以使用通用的二次规划算法来求解,但有一种更高效简单的算法叫SMO算法。这个算法我们以后再说。
(3)求出分割超平面
当我们要求
W
W
W时,我们发现一个问题:
W
=
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
(19)
W=\sum_{i=1}^N\alpha_i y_i\varphi(X_i)\tag{19}
W=i=1∑Nαiyiφ(Xi)(19)
我们并不知道
φ
(
X
i
)
\varphi(X_i)
φ(Xi)的具体表达式,根本无法求出
W
W
W,事实是我们根本不用求出
W
W
W。因为我们最终的结果是测试时,每输入一个样本
X
X
X,看
W
T
φ
(
X
)
+
b
W^T \varphi(X)+b
WTφ(X)+b的结果是大于等于0还是小于0就行了。大于等于0的是一类,小于0的是另一类。于是我们有:
W
T
φ
(
X
)
=
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
T
φ
(
X
)
=
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
)
(20)
W^T \varphi(X)=\sum_{i=1}^N\alpha_i y_i\varphi(X_i)^T\varphi(X)=\sum_{i=1}^N\alpha_i y_i K(X_i,X)\tag{20}
WTφ(X)=i=1∑Nαiyiφ(Xi)Tφ(X)=i=1∑NαiyiK(Xi,X)(20)
核函数又一次出现,解决了这个问题。接下来我们求
b
b
b,根据
K
K
T
KKT
KKT条件,对所有的
i
=
1
⋯
N
i=1\cdots N
i=1⋯N,有:
α
i
[
1
+
ξ
i
−
y
i
W
T
φ
(
X
i
)
−
y
i
b
]
=
0
β
i
ξ
i
=
0
⇒
(
C
−
α
i
)
ξ
i
=
0
\alpha_i[1+\xi_i-y_iW^T\varphi(X_i)-y_i b]=0\\ \beta_i \xi_i = 0\Rightarrow (C-\alpha_i) \xi_i = 0
αi[1+ξi−yiWTφ(Xi)−yib]=0βiξi=0⇒(C−αi)ξi=0
α
\alpha
α是一个向量,可以写成矩阵形式
α
=
[
α
1
,
α
2
,
α
3
⋯
α
k
⋯
α
N
]
T
\alpha=[\alpha_1,\alpha_2,\alpha_3\cdots \alpha_k\cdots\alpha_N]^T
α=[α1,α2,α3⋯αk⋯αN]T,如果对于
α
\alpha
α的某一个分量
α
k
\alpha_k
αk,有
α
k
≠
0
\alpha_k\neq0
αk=0且
α
k
≠
C
\alpha_k\neq C
αk=C,则根据
K
K
T
KKT
KKT条件,必有
ξ
k
=
0
\xi_k = 0
ξk=0,且:
1
+
ξ
k
−
y
k
W
T
φ
(
X
k
)
−
y
k
b
=
0
(21)
1+\xi_k-y_kW^T\varphi(X_k)-y_k b = 0\tag{21}
1+ξk−ykWTφ(Xk)−ykb=0(21)
其种
X
k
X_k
Xk就是
α
k
\alpha_k
αk对应的训练样本,
y
k
W
T
φ
(
X
k
)
y_kW^T\varphi(X_k)
ykWTφ(Xk)可以写成:
y
k
W
T
φ
(
X
k
)
=
y
k
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
k
)
(22)
y_kW^T\varphi(X_k) = y_k \sum_{i=1}^N \alpha_i y_i K(X_i,X_k)\tag{22}
ykWTφ(Xk)=yki=1∑NαiyiK(Xi,Xk)(22)
所以,只须找一个
0
≤
α
k
≤
C
0 \leq \alpha_k \leq C
0≤αk≤C,就可将
b
b
b求出:
b
=
1
−
y
k
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
k
)
y
k
(23)
b=\frac{1-y_k \sum_{i=1}^N \alpha_i y_i K(X_i,X_k)}{y_k}\tag{23}
b=yk1−yk∑i=1NαiyiK(Xi,Xk)(23)
实际任务中常采用一种更鲁棒的做法:选择多个处于
0
0
0到
C
C
C之间的
α
\alpha
α的分量求出多个
b
b
b然后取平均。
(4)测试
对于一个测试样本
X
X
X,我们要判断其所属的类别,则我们计算
W
T
φ
(
X
)
+
b
=
∑
i
=
1
N
α
i
y
i
φ
(
X
i
)
T
φ
(
X
)
+
b
=
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
)
+
b
(24)
W^T \varphi(X)+b=\sum_{i=1}^N \alpha_i y_i \varphi(X_i)^T \varphi(X)+b\tag{24} = \sum_{i=1}^N \alpha_i y_i K(X_i,X)+b
WTφ(X)+b=i=1∑Nαiyiφ(Xi)Tφ(X)+b=i=1∑NαiyiK(Xi,X)+b(24)
判别标准为:
{
如
果
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
)
+
b
≥
0
,
则
X
∈
C
1
如
果
∑
i
=
1
N
α
i
y
i
K
(
X
i
,
X
)
+
b
<
0
,
则
X
∈
C
2
\begin{cases} 如果\sum_{i=1}^N \alpha_i y_i K(X_i,X)+b \ge 0,则X \in C_1\\ 如果\sum_{i=1}^N \alpha_i y_i K(X_i,X)+b < 0,则X \in C_2 \end{cases}
{如果∑i=1NαiyiK(Xi,X)+b≥0,则X∈C1如果∑i=1NαiyiK(Xi,X)+b<0,则X∈C2
最终我们只通过核函数也能完成对
X
X
X的类别判决。