硬间隔SVM模型定义(最大间隔分类器)
SVM有三宝:间隔、对偶、核技巧 。其中核技巧/核函数是SVM之前就有的,可使SVM从普通特征空间映射到高维空间,实现一定的非线性分类。
SVM分类:hard-margin SVM、soft-margin SVM、kenel SVM 下面先介绍hard-margin SVM。
SVM最初用来进行二分类(+1、-1):
超平面:
w
T
x
+
b
=
0
w^{T}x + b = 0
wTx+b=0
判别模型:
f
(
w
)
=
s
i
g
n
(
w
T
x
+
b
)
f(w) = sign(w^{T}x + b)
f(w)=sign(wTx+b)
样本点:
{
(
x
i
,
y
i
)
}
i
=
1
N
,
x
i
∈
R
p
,
y
i
∈
{
−
1
,
1
}
\{ (x_{i},y_{i}) \}^{N}_{i=1},x_{i}\in \mathbb{R}^{p},y_{i}\in \{-1,1\}
{(xi,yi)}i=1N,xi∈Rp,yi∈{−1,1}
如何从多条分类直线中找到分类分得最好的那一条呢?
找到最中间的一条线,使其离样本点的距离最大。数学表达式为:
m
a
x
m
a
r
g
i
n
(
w
,
b
)
max\ \ \ margin (w,b)
max margin(w,b)
s
.
t
.
{
w
T
x
i
+
b
>
0
,
y
i
=
+
1
w
T
x
i
+
b
<
0
,
y
i
=
−
1
s.t.\left\{\begin{matrix} w^{T}x_{i}+b > 0 ,& y_{i} = +1\\ w^{T}x_{i}+b < 0 ,& y_{i} = -1 & \end{matrix}\right.
s.t.{wTxi+b>0,wTxi+b<0,yi=+1yi=−1 i.e.
y
i
(
w
T
x
i
+
b
)
>
0
,
i
=
1
,
2
,
.
.
.
,
N
\ \ y_{i} (w^{T}x_{i}+b) > 0 ,\ i=1,2,...,N
yi(wTxi+b)>0, i=1,2,...,N
其中
m
a
r
g
i
n
(
w
,
b
)
=
m
i
n
w
,
b
,
x
i
,
i
=
1
,
2
,
.
.
.
,
N
d
i
s
t
a
n
c
e
(
w
,
b
,
x
i
)
margin(w,b)=min_{w,b,x_{i},i=1,2,...,N}distance(w,b,x_{i})
margin(w,b)=minw,b,xi,i=1,2,...,Ndistance(w,b,xi)
其中
d
i
s
t
a
n
c
e
=
1
∥
w
∥
∣
w
T
x
i
+
b
∣
distance=\frac{1}{\left \| w \right \|}\left | w^{T}x_{i}+b \right |
distance=∥w∥1∣∣wTxi+b∣∣为样本点到直线的距离。
整理之后得到:
m
a
x
w
,
b
1
∥
w
∥
m
i
n
x
i
,
i
=
1
,
2
,
.
.
.
,
N
y
i
(
w
T
x
i
+
b
)
max_{w,b}\frac{1}{\left \| w \right \|}min_{x_{i},i=1,2,...,N}\ \ \ y_{i}(w^{T}x_{i}+b)
maxw,b∥w∥1minxi,i=1,2,...,N yi(wTxi+b)
s
.
t
.
y
i
(
w
T
x
i
+
b
)
>
0
,
i
=
1
,
2
,
.
.
.
,
N
s.t.\ \ \ y_{i} (w^{T}x_{i}+b) > 0 ,\ i=1,2,...,N
s.t. yi(wTxi+b)>0, i=1,2,...,N
令
m
i
n
y
i
(
w
T
x
i
+
b
)
=
γ
,
i
=
1
,
2
,
.
.
.
,
N
\ \ \ min\ y_{i} (w^{T}x_{i}+b)=\gamma ,\ i=1,2,...,N
min yi(wTxi+b)=γ, i=1,2,...,N。
又为了避免
w
,
b
w,b
w,b的缩放带来的同一条直线可由无数对
w
,
b
w,b
w,b表示的问题,令
γ
=
1
\ \ \ \gamma=1
γ=1,这样,当
w
,
b
w,b
w,b取不同值时代表的是不同的直线。,然后将最大化的优化问题转化为最小化的优化问题,得到:
m
i
n
w
,
b
∥
w
∥
min_{w,b}\left \| w \right \|
minw,b∥w∥
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
N
s.t.\ \ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N
s.t. yi(wTxi+b)≥1, i=1,2,...,N
最后转化为二次凸优化问题:
m
i
n
w
,
b
1
2
w
T
w
min_{w,b}\ \ \frac{1}{2}w^{T}w
minw,b 21wTw
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
N
s.t.\ \ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N
s.t. yi(wTxi+b)≥1, i=1,2,...,N
这里 1 2 \frac{1}{2} 21是为了求导时简便。样本不多的时候,可用QP问题的套件解决,求解比较复杂时再引入对偶或者核函数方法。
硬间隔SVM模型求解(对偶问题)
求解:
m
i
n
w
,
b
1
2
w
T
w
min_{w,b}\ \ \frac{1}{2}w^{T}w
minw,b 21wTw
s
.
t
.
y
i
(
w
T
x
i
+
b
)
≥
1
,
i
=
1
,
2
,
.
.
.
,
N
s.t.\ \ y_{i} (w^{T}x_{i}+b) \geq1 ,\ i=1,2,...,N
s.t. yi(wTxi+b)≥1, i=1,2,...,N
首先引入拉格朗日乘子写出上式的拉格朗日函数:
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
(
1
−
y
i
(
w
T
x
i
+
b
)
)
\mathcal{L}(w,b,\lambda )=\frac{1}{2}w^{T}w+\sum_{i=1}^{N}\lambda_{i}(1-y_{i}(w^{T}x_{i}+b))
L(w,b,λ)=21wTw+∑i=1Nλi(1−yi(wTxi+b)), 其中
λ
≥
0
,
(
1
−
y
i
(
w
T
x
i
+
b
)
)
≤
0
\lambda\geq0,(1-y_{i}(w^{T}x_{i}+b))\leq0
λ≥0,(1−yi(wTxi+b))≤0
这样就将原来带约束的优化问题转化为了如下不带约束的优化问题:
m
i
n
w
,
b
m
a
x
λ
L
(
w
,
b
,
λ
)
min_{w,b}max_{\lambda}\ \ \ \mathcal{L}(w,b,\lambda )
minw,bmaxλ L(w,b,λ)
s
.
t
.
λ
i
≥
0
s.t.\ \ \lambda_{i}\geq0
s.t. λi≥0
转换后的数学模型和原模型是等价的,因为原模型的约束含在了 m a x λ L ( w , b , λ ) max_{\lambda}\ \ \ \mathcal{L}(w,b,\lambda ) maxλ L(w,b,λ)里,仅满足原约束时, L ( w , b , λ ) \mathcal{L}(w,b,\lambda) L(w,b,λ)才存在最大值且最大值是 1 2 w T w \frac{1}{2}w^{T}w 21wTw,否则为正无穷,此时目标函数与原模型也是一致的。
下面来写原问题的对偶问题:
m
a
x
λ
m
i
n
w
,
b
L
(
w
,
b
,
λ
)
max_{\lambda}min_{w,b}\ \ \ \mathcal{L}(w,b,\lambda )
maxλminw,b L(w,b,λ)
s
.
t
.
λ
i
≥
0
s.t.\ \ \lambda_{i}\geq0
s.t. λi≥0
因为凸优化二次规划问题天生满足强对偶,即
m
i
n
m
a
x
f
=
m
a
x
m
i
n
f
minmax\ f=maxmin\ f
minmax f=maxmin f所以对偶问题和原问题同解。下面对对偶问题进行求解:
∂
L
∂
b
=
−
∑
i
=
1
N
λ
i
y
i
=
0
\frac{\partial \mathcal{L}}{\partial b}=-\sum_{i=1}^{N}\lambda_{i}y_{i}=0
∂b∂L=−∑i=1Nλiyi=0
将
∑
i
=
1
N
λ
i
y
i
=
0
\sum_{i=1}^{N}\lambda_{i}y_{i}=0
∑i=1Nλiyi=0 代入
L
(
w
,
b
,
λ
)
\mathcal{L}(w,b,\lambda)
L(w,b,λ)得:
L
(
w
,
b
,
λ
)
=
1
2
w
T
w
+
∑
i
=
1
N
λ
i
−
∑
i
=
1
N
λ
i
y
i
w
T
x
i
\mathcal{L}(w,b,\lambda)=\frac{1}{2}w^{T}w+\sum_{i=1}^{N}\lambda_{i}-\sum_{i=1}^{N}\lambda_{i}y_{i}w^{T}x_{i}
L(w,b,λ)=21wTw+∑i=1Nλi−∑i=1NλiyiwTxi
∂
L
∂
w
=
w
−
∑
i
=
1
N
λ
i
y
i
x
i
=
0
\frac{\partial \mathcal{L}}{\partial w}=w-\sum_{i=1}^{N}\lambda_{i}y_{i}x_{i}=0
∂w∂L=w−∑i=1Nλiyixi=0 即
w
=
∑
i
=
1
N
λ
i
y
i
x
i
w=\sum_{i=1}^{N}\lambda_{i}y_{i}x_{i}
w=∑i=1Nλiyixi。 代入
L
(
w
,
b
,
λ
)
\mathcal{L}(w,b,\lambda)
L(w,b,λ)得:
L
(
w
,
b
,
λ
)
=
−
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
+
∑
i
=
1
N
λ
i
\mathcal{L}(w,b,\lambda)=-\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}+\sum_{i=1}^{N}\lambda_{i}
L(w,b,λ)=−21∑i=1N∑j=1NλiλjyiyjxiTxj+∑i=1Nλi
下面再求 L ( w , b , λ ) = 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j − ∑ i = 1 N λ i \mathcal{L}(w,b,\lambda)=\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda_{i} L(w,b,λ)=21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi 对 λ \lambda λ 的最小值。这也是一个凸优化QP问题,可用QP套件。
下面介绍KKT条件:
{
∂
L
∂
w
=
0
∂
L
∂
b
=
0
∂
L
∂
λ
=
0
λ
i
(
1
−
y
i
(
w
i
T
+
b
)
)
=
0
λ
i
≥
0
1
−
y
i
(
w
i
T
+
b
)
≤
0
\left\{\begin{matrix} &\frac{\partial \mathcal{L}}{\partial w}=0 \frac{\partial \mathcal{L}}{\partial b}=0 \frac{\partial \mathcal{L}}{\partial \lambda}=0 \\ &\lambda_{i}(1-y_{i}(w_{i}^{T}+b))=0 & \\ &\lambda_{i}\geq0 & \\ &1-y_{i}(w_{i}^{T}+b)\leq0 & \end{matrix}\right.
⎩⎪⎪⎨⎪⎪⎧∂w∂L=0∂b∂L=0∂λ∂L=0λi(1−yi(wiT+b))=0λi≥01−yi(wiT+b)≤0
以上是前面模型对应的KKT条件,第二条为互补松弛条件。原问题和对偶问题是强对偶关系的充要条件是他们满足KKT条件。根据KKT条件可以求出最后的 w ∗ , b ∗ w^{*},b^{*} w∗,b∗。且 w ∗ w^{*} w∗的求解只跟 w T x + b = ± 1 w^{T}x+b=±1 wTx+b=±1上的样本点有关,因为只有这些样本点的 λ i \lambda_{i} λi可以不为0,这些点称为支持向量。
核函数
原始样本空间也许并不能线性可分,可将样本映射到一个更高维的空间,使其能够线性可分。若原始空间为有限维则一定存在一个高维空间可使其线性可分。
用
ϕ
(
x
)
\phi (x)
ϕ(x)表示映射到高维空间后的特征向量,带入前一小节的数学模型中,最终可以得到类似于
L
(
w
,
b
,
λ
)
=
1
2
∑
i
=
1
N
∑
j
=
1
N
λ
i
λ
j
y
i
y
j
x
i
T
x
j
−
∑
i
=
1
N
λ
i
\mathcal{L}(w,b,\lambda)=\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\lambda_{i}\lambda_{j}y_{i}y_{j}x_{i}^{T}x_{j}-\sum_{i=1}^{N}\lambda_{i}
L(w,b,λ)=21∑i=1N∑j=1NλiλjyiyjxiTxj−∑i=1Nλi 的表达式,只是
x
x
x变为
ϕ
(
x
)
\phi (x)
ϕ(x), 要求其关于
λ
i
\lambda_{i}
λi的最小值。其中涉及到
ϕ
(
x
)
T
ϕ
(
x
)
\phi (x)^{T}\phi(x)
ϕ(x)Tϕ(x), 高维空间的维数过高时很难求解,所以这里引入核函数。
即
x
i
,
x
j
x_{i},x_{j}
xi,xj在高维空间的内积等于他们在原始空间中通过函数
k
(
,
)
k( , )
k(,)计算的结果。这样就能简化计算。那么,如何确定核函数?
任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”地特征空间。
函数组合得到和函数的方式:
- 若k1,k2为核函数,则对任意正数r1,r2, 其线性组合r1k1+r2k2也是核函数
- 若k1,k2为核函数,则核函数的直积 k 1 ⨂ k 2 ( x , z ) = k 1 ( x , z ) k 2 ( x , z ) k_{1}\bigotimes k_{2}(x,z)=k_{1}(x,z)k_{2}(x,z) k1⨂k2(x,z)=k1(x,z)k2(x,z)也是核函数。
- 若k1为核函数,则对任意函数g(x), g ( x ) k 1 ( x , z ) g ( z ) g(x)k_{1}(x,z)g(z) g(x)k1(x,z)g(z)也是核函数。
软间隔与正则化
现实任务中很难确定合适的核函数使训练样本在特征空间线性可分,即使找到了也无法断定是否是过拟合的结果。一个缓解办法是允许SVM在一些样本上出错。
在最大化间隔的同时,分类错误的样本应该越少越好,于是优化目标变为:
其中
为损失函数,C是一个正常数。
l
0
/
1
l_{0/1}
l0/1非凸不连续不好计算,于是用数学性质更好的替代损失函数。
优化目标的前一部分称为“结构风险”,用来最大化间隔,后一部分称为“经验风险“,用来描述模型与训练参数之间的契合度。C用于对二者进行折中。
支持向量回归SVR
现考虑回归问题。有一些
D
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
m
,
y
m
)
}
D=\{(x_{1},y_{1}),...,(x_{m},y_{m})\}
D={(x1,y1),...,(xm,ym)}训练样本,希望得到形如
f
(
x
)
=
w
T
x
+
b
f(x)=w^{T}x+b
f(x)=wTx+b的回归模型。传统回归方法用f(x)与y之间的差异计算损失,但SVR不同。假设我们容忍f(x)与y之间最多有
ϵ
\epsilon
ϵ的偏差。落入
2
ϵ
2\epsilon
2ϵ间隔带内的样本不计损失。
于是SVR问题可形式化为:
其中
为
ϵ
\epsilon
ϵ不敏感损失。
SVM的难点
SVM是针对二分类任务设计的,也有改进为多分类任务的算法。核函数直接决定了SVM和核方法的最终性能,但核函数的选取仍是一个未决问题。多核学习实际上借助了集成学习的方法。另外还有替代函数的一致性问题,已有相关一些研究。