支持向量机(Support Vector Machine, SVM)是曾经打败神经网络的分类方法,从90年代后期开始在很多领域均有举足轻重的应用,近年来,由于深度学习的兴起,SVM的风光开始衰退,但是其仍然不失为一种经典的分类方法。SVM最初由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis于1963年提出,之后经过一系列改进,现今普遍使用的版本由Corinna Cortes 和 Vapnik于1993年提出,并在1995年发表[1]。深度学习兴起之前,SVM被认为是机器学习近几十年来最成功、表现最好的方法。
1. 间隔最大化
本文讨论线性可分的支持向量机,详细推导其最大间隔和对偶问题的原理。简单起见,以二分类为例,如下图,设训练集为
D
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
n
,
y
n
)
}
D=\{(\boldsymbol{x}_1,y_1),...,(\boldsymbol{x}_n,y_n)\}
D={(x1,y1),...,(xn,yn)},蓝色圆点为一类,红色方块为另一类,分类的目标是寻找一个超平面,将两类数据分开。在二维平面中,分类超平面就是一条直线,从图中可以看出,能将训练样本分开的超平面有很多可能(图中绿色虚线),超平面除了要将训练集中的数据分开,还要有较好的泛化性能,需要把测试集中的数据也划分开。从直观上看,绿色实线是比较好的一个划分,因为该直线距离两类数据点均较远,对于数据局部扰动的容忍性较好,能够以较大的置信度将数据进行分类。
所以,距离两类数据点间隔最大的超平面为最好的分类面,两类数据点距离超平面的间隔(margin)如下图,假设图中两条虚线的表达式为
w
T
x
+
b
=
−
1
\boldsymbol{w}^T\boldsymbol{x}+b=-1
wTx+b=−1和
w
T
x
+
b
=
1
\boldsymbol{w}^T\boldsymbol{x}+b=1
wTx+b=1 (为什么等号右边为1?因为若
w
T
x
+
b
=
c
\boldsymbol{w}^T\boldsymbol{x}+b=c
wTx+b=c,令
w
=
w
/
c
\boldsymbol{w}=\boldsymbol{w}/c
w=w/c,
b
=
b
/
c
b=b/c
b=b/c即可,
w
\boldsymbol{w}
w和
b
b
b是要学习的参数,其大小是随等式右边的常数变化的),那么,中间分类面的表达式为
w
T
x
+
b
=
0
\boldsymbol{w}^T\boldsymbol{x}+b=0
wTx+b=0。为方便计算,将两类数据的标签设为
±
1
\pm1
±1,蓝色圆点为
y
=
−
1
y=-1
y=−1,红色方块为
y
=
1
y=1
y=1,如果分类超平面能将两类数据正确分类,那么就有
{
w
T
x
i
+
b
≥
1
y
i
=
1
w
T
x
i
+
b
≤
−
1
y
i
=
−
1
\begin{cases}\boldsymbol{w}^T \boldsymbol{x}_i + b \geq 1 & y_i = 1 \\ \boldsymbol{w}^T \boldsymbol{x}_i + b \leq -1 & y_i = -1 \end{cases}
{wTxi+b≥1wTxi+b≤−1yi=1yi=−1
并且两类数据到超平面的距离之和,也就是间隔为:
2
∣
∣
w
∣
∣
\dfrac{2}{||\boldsymbol{w}||}
∣∣w∣∣2
要找到间隔最大的超平面,就是使
2
∣
∣
w
∣
∣
\dfrac{2}{||\boldsymbol{w}||}
∣∣w∣∣2最大,也即
1
2
∣
∣
w
∣
∣
2
\dfrac{1}{2}{||\boldsymbol{w}||}^2
21∣∣w∣∣2最小,同时满足
{
w
T
x
i
+
b
≥
1
y
i
=
1
w
T
x
i
+
b
≤
−
1
y
i
=
−
1
\begin{cases}\boldsymbol{w}^T \boldsymbol{x}_i + b \geq 1 & y_i = 1 \\ \boldsymbol{w}^T \boldsymbol{x}_i + b \leq -1 & y_i = -1 \end{cases}
{wTxi+b≥1wTxi+b≤−1yi=1yi=−1
这个需要满足的条件可简化为
y
i
(
w
T
x
i
+
b
)
≥
1
y_i (\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1
yi(wTxi+b)≥1,最终,寻找具有最大间隔的划分超平面转化为一个有约束的最优化问题
m
i
n
1
2
∣
∣
w
∣
∣
2
min \dfrac{1}{2} ||\boldsymbol{w}||^2
min21∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
⋯
 
,
n
s.t. \quad y_i (\boldsymbol{w}^T \boldsymbol{x}_i + b) \geq 1 , \quad i = 1, \cdots, n
s.t.yi(wTxi+b)≥1,i=1,⋯,n
其中,约束里的等号在上图中绿色虚线穿过的点处成立,这些点距离超平面最近,被称为“支持向量”(Support Vector),后面我们会看到,分类超平面仅由支持向量决定,这就是线性可分支持向量机的基本模型。
2. 对偶问题
为了求解上述有约束的最优化问题,应用拉格朗日对偶性,通过求解对偶问题(dual problem)得到原始问题(primal problem)的最优解,这样求解的优点是:1. 对偶问题通常更容易求解,2. 自然引入核函数,进而推广到非线性分类的情况[2]。
2.1 拉格朗日对偶性
首先给出原始问题,设
f
(
x
)
f(x)
f(x),
c
i
(
x
)
c_i(x)
ci(x),
h
j
(
x
)
h_j(x)
hj(x)是定义在
R
n
\boldsymbol{R}^n
Rn上的连续可微函数,给定如下原始问题
min
x
f
(
x
)
\min \limits_{x}f(x)
xminf(x)
s.t.
c
i
(
x
)
≤
0
,
i
=
1
,
2
,
.
.
.
,
k
\text{s.t. } c_i(x) \leq 0, \quad i = 1,2,...,k
s.t. ci(x)≤0,i=1,2,...,k
h
j
(
x
)
=
0
,
j
=
1
,
2
,
.
.
.
,
l
\text{ } \quad h_j(x) = 0, \quad j = 1,2,...,l
hj(x)=0,j=1,2,...,l
其拉格朗日函数(Lagrange function)为
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
L(x,\alpha, \beta ) = f(x) + \sum\limits_{i=1}^k \alpha_i c_i(x) + \sum\limits_{j=1}^l \beta_j h_j(x)
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
其中,
α
i
\alpha_i
αi,
β
j
\beta_j
βj为拉格朗日乘子,并且
α
i
≥
0
\alpha_i \geq 0
αi≥0,考虑
x
x
x的函数
θ
P
(
x
)
=
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x) = \max \limits_{\alpha,\beta; \alpha_i \geq 0}L(x,\alpha, \beta)
θP(x)=α,β;αi≥0maxL(x,α,β)
如果
x
x
x违反原问题的约束条件,即存在
i
∈
{
1
,
.
.
.
,
k
}
i \in \{1,...,k\}
i∈{1,...,k}使得
c
i
(
x
)
>
0
c_i(x)>0
ci(x)>0或者存在
j
∈
{
1
,
.
.
.
,
l
}
j \in \{1,...,l\}
j∈{1,...,l}使得
h
j
(
x
)
≠
0
h_j(x) \neq 0
hj(x)̸=0,那么就可以令
α
i
→
+
∞
\alpha_i \rightarrow +\infty
αi→+∞,或者令
β
j
h
j
(
x
)
→
+
∞
\beta_j h_j(x) \rightarrow + \infty
βjhj(x)→+∞,从而
θ
P
(
x
)
=
max
α
,
β
;
α
i
≥
0
[
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
\theta_P(x) = \max \limits_{\alpha,\beta; \alpha_i \geq 0}{[f(x) + \sum\limits_{i=1}^k \alpha_i c_i(x) + \sum\limits_{j=1}^l \beta_j h_j(x)]} = +\infty
θP(x)=α,β;αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
相反,如果
x
x
x满足原问题的约束条件,则可令
α
i
=
0
\alpha_i = 0
αi=0,
β
j
=
0
\beta_j = 0
βj=0,使得
θ
P
(
x
)
=
f
(
x
)
\theta_P(x) = f(x)
θP(x)=f(x)
因此有
θ
P
(
x
)
=
{
f
(
x
)
x
满足原始问题约束
+
∞
x
违反原问题约束
\theta_P(x) = \begin{cases} f(x) & x\text{满足原始问题约束} \\ +\infty & x\text{违反原问题约束} \end{cases}
θP(x)={f(x)+∞x满足原始问题约束x违反原问题约束
所以,原问题就可以转化为最小化
θ
P
(
x
)
\theta_P(x)
θP(x),即
min
x
θ
P
(
x
)
=
min
x
max
α
,
β
;
α
i
≥
0
L
(
x
,
α
,
β
)
\min\limits_{x} \theta_P(x) = \min\limits_{x}\max\limits_{\alpha,\beta;\alpha_i \geq 0} L(x,\alpha,\beta)
xminθP(x)=xminα,β;αi≥0maxL(x,α,β)
该问题取最小值时,
x
x
x是满足原始问题的约束的。接下来构造其对偶问题,首先定义
α
\alpha
α和
β
\beta
β的函数
θ
D
(
α
,
β
)
=
min
x
L
(
x
,
α
,
β
)
\theta_D(\alpha, \beta) = \min\limits_{x} {L(x,\alpha,\beta)}
θD(α,β)=xminL(x,α,β)
再对上式最大化
max
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
=
max
α
,
β
;
α
i
≥
0
min
x
L
(
x
,
α
,
β
)
\max\limits_{\alpha,\beta;\alpha_i \geq 0} \theta_D(\alpha, \beta) = \max\limits_{\alpha,\beta;\alpha_i \geq 0} \min\limits_{x} {L(x,\alpha,\beta)}
α,β;αi≥0maxθD(α,β)=α,β;αi≥0maxxminL(x,α,β)
将该式表示有约束的最优化问题就得到了原始问题的对偶问题:
max
α
,
β
θ
D
(
α
,
β
)
=
max
α
,
β
min
x
L
(
x
,
α
,
β
)
\max\limits_{\alpha,\beta}{\theta_D(\alpha,\beta)} = \max\limits_{\alpha,\beta}{\min\limits_{x}{L(x,\alpha,\beta)}}
α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)
s.t.
α
i
≥
0
,
i
=
1
,
.
.
.
,
k
\text{s.t. } \alpha_i \geq 0, i = 1,...,k
s.t. αi≥0,i=1,...,k
那么原始问题和对偶问题的解存在什么关系呢?记原始问题的最优值为
p
∗
=
min
x
θ
P
(
x
)
p^* = \min\limits_{x}{\theta_P(x)}
p∗=xminθP(x),对偶问题的最优值为
d
∗
=
max
α
,
β
;
α
i
≥
0
θ
D
(
α
,
β
)
d^* = \max\limits_{\alpha,\beta; \alpha_i \geq 0}{\theta_D(\alpha,\beta)}
d∗=α,β;αi≥0maxθD(α,β),那么有
d
∗
≤
p
∗
d^* \leq p^*
d∗≤p∗,此处不再证明,可简单理解为(最大值中的最小值)大于等于(最小值中的最大值)。在什么条件下等号成立呢?这个条件就是强对偶(strong duality),并且在强对偶前提下,如果
x
∗
x^\ast
x∗和
α
∗
\alpha^\ast
α∗,
β
∗
\beta^\ast
β∗分别是原始问题和对偶问题的可行解,则
x
∗
x^\ast
x∗和
α
∗
\alpha^\ast
α∗,
β
∗
\beta^\ast
β∗ 分别是原始问题和对偶问题的最优解,此时可以用解对偶问题替代解原始问题。但是强对偶条件是一个比较严格的约束,一般情况下无法满足,如果原问题满足一定的条件,就比较容易达到强对偶,这些条件就叫做约束规范 (constraint qualifications)。适用于SVM的约束规范是Slater条件,即原问题是一个凸优化问题(
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)均是凸函数),并且存在
x
x
x,使所有的等式约束成立,不等式约束严格成立(
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0)。在满足这些条件的前提下,有学者提出了
x
∗
x^\ast
x∗和
α
∗
\alpha^\ast
α∗,
β
∗
\beta^\ast
β∗分别是原始问题和对偶问题的最优解的充分必要条件:KKT条件(Karush–Kuhn–Tucker conditions)
1.
c
i
(
x
∗
)
≤
0
,
h
j
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
,
k
,
j
=
1
,
.
.
.
,
l
c_i(x^\ast) \leq 0, h_j(x^\ast) = 0, i=1,...,k, j = 1,...,l
ci(x∗)≤0,hj(x∗)=0,i=1,...,k,j=1,...,l
2.
∇
f
(
x
∗
)
+
∑
i
=
1
k
α
i
∇
c
i
(
x
∗
)
+
∑
j
=
1
l
β
j
∇
h
j
(
x
∗
)
=
0
\nabla f(x^\ast)+\sum\limits_{i=1}^k \alpha_i \nabla c_i(x^\ast) + \sum\limits_{j=1}^l \beta_j \nabla h_j(x^\ast) = 0
∇f(x∗)+i=1∑kαi∇ci(x∗)+j=1∑lβj∇hj(x∗)=0
3.
α
i
≥
0
,
α
i
c
i
(
x
∗
)
=
0
,
β
j
≠
0
\alpha_i \geq 0, \alpha_i c_i(x^\ast) = 0, \beta_j \ne 0
αi≥0,αici(x∗)=0,βj̸=0
其中,
α
i
c
i
(
x
∗
)
=
0
\alpha_i c_i(x^\ast)=0
αici(x∗)=0称为KKT的互补松弛条件(Complementary slackness),由此可知,若
α
i
>
0
\alpha_i > 0
αi>0,则必有
c
i
(
x
∗
)
=
0
c_i(x^\ast) = 0
ci(x∗)=0
2.2 SVM的对偶问题
回顾一下SVM的原问题,
m
i
n
1
2
∣
∣
w
∣
∣
2
min \dfrac{1}{2} ||\boldsymbol{w}||^2
min21∣∣w∣∣2
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
⋯
 
,
n
s.t. \quad y_i (\boldsymbol{w}^T \boldsymbol{x}_i + b) \geq 1 , \quad i = 1, \cdots, n
s.t.yi(wTxi+b)≥1,i=1,⋯,n
构造拉格朗日函数:
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
n
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
,
λ
i
≥
0
L(\boldsymbol{w}, b, \boldsymbol{\lambda}) = \dfrac{1}{2} \boldsymbol{w}^T \boldsymbol{w} + \sum\limits_{i = 1}^n {\lambda_i (1- y_i(\boldsymbol{w}^T \boldsymbol{x}_i + b))}, \quad \lambda_i \geq 0
L(w,b,λ)=21wTw+i=1∑nλi(1−yi(wTxi+b)),λi≥0
可以将原问题等价为:
min
w
,
b
θ
P
(
w
,
b
)
=
min
w
,
b
max
λ
;
λ
i
≥
0
L
(
w
,
b
,
λ
)
\min\limits_{\boldsymbol{w},b} \theta_P(\boldsymbol{w},b) = \min\limits_{\boldsymbol{w},b}\max\limits_{\boldsymbol{\lambda};\lambda_i \geq 0} L(\boldsymbol{w}, b, \boldsymbol{\lambda})
w,bminθP(w,b)=w,bminλ;λi≥0maxL(w,b,λ)
易知,原问题满足Slater条件,所以也满足KKT条件,可以将原问题转化为对偶问题进行求解,即求
max
λ
θ
D
(
λ
)
=
max
λ
min
w
,
b
L
(
w
,
b
,
λ
)
\max\limits_{\boldsymbol{\lambda}} \theta_D(\boldsymbol{\lambda}) = \max\limits_{\boldsymbol{\lambda}} \min\limits_{\boldsymbol{w}, b} L(\boldsymbol{w}, b, \boldsymbol{\lambda})
λmaxθD(λ)=λmaxw,bminL(w,b,λ)
s.t.
λ
i
≥
0
,
i
=
1
,
.
.
.
,
n
\text{s.t. } \lambda_i \geq 0, i = 1,...,n
s.t. λi≥0,i=1,...,n
首先求内部的项
min
w
,
b
L
(
w
,
b
,
λ
)
\min\limits_{\boldsymbol{w}, b} L(\boldsymbol{w}, b, \boldsymbol{\lambda})
w,bminL(w,b,λ),令
L
(
w
,
b
,
λ
)
L(\boldsymbol{w}, b, \boldsymbol{\lambda})
L(w,b,λ) 对
w
\boldsymbol{w}
w和
b
b
b的导数为0
∂ L ∂ w = w − ∑ i = 1 n λ i y i x i = 0 \dfrac{\partial{L}}{\partial{\boldsymbol{w}}} = \boldsymbol{w} - \sum\limits_{i = 1}^n {\lambda_i y_i \boldsymbol{x}_i = 0} ∂w∂L=w−i=1∑nλiyixi=0
∂ L ∂ b = − ∑ i = 1 n λ i y i = 0 \dfrac{\partial{L}}{\partial{b}} = - \sum\limits_{i = 1}^n {\lambda_i y_i} = 0 ∂b∂L=−i=1∑nλiyi=0
因此有 w = ∑ i = 1 n λ i y i x i \boldsymbol{w} = \sum\limits_{i = 1}^n {\lambda_i y_i \boldsymbol{x}_i} w=i=1∑nλiyixi,并且 ∑ i = 1 n λ i y i = 0 \sum\limits_{i = 1}^n {\lambda_i y_i} = 0 i=1∑nλiyi=0。把 w \boldsymbol{w} w代入 L ( w , b , λ ) L(\boldsymbol{w}, b, \boldsymbol{\lambda}) L(w,b,λ)得
L ( λ ) = 1 2 ∑ i = 1 n λ i y i x i T ∑ j = 1 n λ j y j x j + ∑ i = 1 n λ i ( 1 − y i ( ∑ j = 1 n λ j y j x j T x i + b ) ) = 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i T x j + ∑ i = 1 n λ i − ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i T x j − ∑ i = 1 n λ i y i b = − 1 2 ∑ i = 1 n ∑ j = 1 n λ i λ j y i y j x i T x j + ∑ i = 1 n λ i \begin{aligned} L(\boldsymbol\lambda) &= \dfrac{1}{2} \sum\limits_{i = 1}^n {\lambda_i y_i \boldsymbol{x}_i^T} \sum\limits_{j = 1}^n {\lambda_j y_j \boldsymbol{x}_j} + \sum\limits_{i = 1}^n {\lambda_i (1 - y_i (\sum\limits_{j = 1}^n \lambda_j y_j \boldsymbol{x_j}^T \boldsymbol{x}_i + b))} \\ &= \dfrac{1}{2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {\lambda_i \lambda_j y_i y_j \boldsymbol{x}_i^T \boldsymbol{x}_j}} + \sum\limits_{i = 1}^n {\lambda_i} - \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {\lambda_i \lambda_j y_i y_j \boldsymbol{x}_i^T \boldsymbol{x}_j}} - \sum\limits_{i = 1}^n {\lambda_i y_i b} \\ &= -\dfrac{1}{2} \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {\lambda_i \lambda_j y_i y_j \boldsymbol{x}_i^T \boldsymbol{x}_j}} + \sum\limits_{i = 1}^n {\lambda_i} \end{aligned} L(λ)=21i=1∑nλiyixiTj=1∑nλjyjxj+i=1∑nλi(1−yi(j=1∑nλjyjxjTxi+b))=21i=1∑nj=1∑nλiλjyiyjxiTxj+i=1∑nλi−i=1∑nj=1∑nλiλjyiyjxiTxj−i=1∑nλiyib=−21i=1∑nj=1∑nλiλjyiyjxiTxj+i=1∑nλi
该问题转化成只包含
λ
\boldsymbol{\lambda}
λ的最优化问题,求出
λ
\boldsymbol{\lambda}
λ就可以求出
w
\boldsymbol{w}
w和
b
b
b。将
L
(
λ
)
L(\boldsymbol{\lambda})
L(λ)取负数,把最大化转化为最小化
min
λ
L
(
λ
)
=
1
2
∑
i
=
1
n
∑
j
=
1
n
λ
i
λ
j
y
i
y
j
x
i
T
x
j
T
−
∑
i
=
1
n
λ
i
\min\limits_{\boldsymbol\lambda} \quad L(\boldsymbol{\lambda}) = \dfrac{1}{2} \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {\lambda_i \lambda_j y_i y_j \boldsymbol{x}_i^T \boldsymbol{x}_j^T}} - \sum\limits_{i = 1}^n {\lambda_i}
λminL(λ)=21i=1∑nj=1∑nλiλjyiyjxiTxjT−i=1∑nλi
s
.
t
.
λ
i
≥
0
,
∑
i
=
1
n
λ
i
y
i
=
0
,
i
=
1
,
.
.
.
,
n
s.t. \quad \lambda_i \geq 0, \quad \sum\limits_{i = 1}^n {\lambda_i y_i} = 0, \quad i = 1,...,n
s.t.λi≥0,i=1∑nλiyi=0,i=1,...,n
该问题为二次规划问题,存在全局最优解,设最优解为
λ
=
(
λ
1
∗
,
.
.
.
,
λ
n
∗
)
\boldsymbol\lambda = (\lambda_1^*,...,\lambda_n^*)
λ=(λ1∗,...,λn∗),那么就可以计算原始问题的最优解
w
∗
=
∑
i
=
1
n
λ
i
∗
y
i
x
i
\boldsymbol{w}^* = \sum\limits_{i=1}^n {\lambda_i^* y_i \boldsymbol{x}_i}
w∗=i=1∑nλi∗yixi。
由KKT的对偶松弛条件可知,如果
λ
i
∗
≠
0
\lambda_i^* \ne 0
λi∗̸=0,则有
1
−
y
i
(
w
∗
T
x
i
+
b
)
=
0
1-y_i({\boldsymbol{w}^*}^T \boldsymbol{x}_i+b) = 0
1−yi(w∗Txi+b)=0,由于
y
∈
{
+
1
,
−
1
}
y \in \{+1, -1\}
y∈{+1,−1},因此
b
∗
=
y
i
−
w
∗
T
x
i
=
y
i
−
∑
j
=
1
n
λ
j
∗
y
j
x
j
T
x
i
b^* = y_i - {\boldsymbol{w}^*}^T \boldsymbol{x}_i = y_i - \sum\limits_{j=1}^n {\lambda_j^* y_j \boldsymbol{x}_j^T \boldsymbol{x_i}}
b∗=yi−w∗Txi=yi−j=1∑nλj∗yjxjTxi
在预测阶段,对于新数据点
z
\boldsymbol{z}
z,计算
y
^
=
w
∗
T
z
+
b
∗
=
∑
i
=
1
n
λ
i
∗
y
i
x
i
T
z
+
b
∗
\hat{y} = {\boldsymbol{w}^*}^T \boldsymbol{z} + b^* = \sum\limits_{i=1}^n {\lambda_i^* y_i \boldsymbol{x}_i^T \boldsymbol{z}} + b^*
y^=w∗Tz+b∗=i=1∑nλi∗yixiTz+b∗
如果
y
^
>
0
\hat{y} > 0
y^>0,则将
z
\boldsymbol{z}
z分为正类,否则分为负类。
3. SVM进一步分析
等式
1
−
y
i
(
w
∗
T
x
i
+
b
)
=
0
1-y_i({\boldsymbol{w}^*}^T \boldsymbol{x}_i +b) = 0
1−yi(w∗Txi+b)=0对应的是下图中分类超平面两侧的虚线,再向两侧延伸,就会有
1
−
y
i
(
w
∗
T
x
i
+
b
)
≤
0
1-y_i({\boldsymbol{w}^*}^T \boldsymbol{x}_i +b) \leq 0
1−yi(w∗Txi+b)≤0,由于
λ
i
∗
(
1
−
y
i
(
w
∗
T
x
i
+
b
)
)
=
0
\lambda_i^*(1-y_i({\boldsymbol{w}^*}^T \boldsymbol{x}_i +b)) = 0
λi∗(1−yi(w∗Txi+b))=0,所以,对于两条虚线外侧的点,其对应的
λ
i
=
0
\lambda_i = 0
λi=0。事实上,只有少数的点会落在分类超平面两侧的虚线上,这些点是距离分类超平面最近的点,被称为支持向量。由
w
∗
=
∑
i
=
1
n
λ
i
∗
y
i
x
i
\boldsymbol{w}^* = \sum\limits_{i=1}^n {\lambda_i^* y_i \boldsymbol{x}_i}
w∗=i=1∑nλi∗yixi和
b
∗
=
y
i
−
∑
j
=
1
n
λ
j
∗
y
j
x
j
T
x
i
b^* =y_i - \sum\limits_{j=1}^n {\lambda_j^* y_j \boldsymbol{x}_j^T \boldsymbol{x_i}}
b∗=yi−j=1∑nλj∗yjxjTxi可知,分类超平面仅由支持向量来决定,所以支持向量机具有较高的稀疏性。
支持向量机建立问题的思路是找到距离分类超平面最近的点,通过最大化这些点之间的间隔来求解,间隔最大化的平面具有较高的鲁棒性。
[1] Cortes C, Vapnik V. Support-vector networks. Machine learning. 1995 Sep 1;20(3):273-97.
[2] 李航. 统计学习方法,清华大学出版社,2012.