本文参考李航的《统计学习方法》撰写
文章目录
一、SVM的主要特征
- 二分类模型
- 定义在特征空间上的间隔最大的线性分类器(间隔最大使它有别于感知机)
- 判别模型,与概率无关
- SVM有三宝,间隔、对偶、核技巧
- 核技巧可以使SVM成为实质上的非线性分类器
二、硬间隔SVM(线性可分支持向量机)
训练目标
假设给定一个训练数据集:
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y1),(x_2,y_2),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),...,(xN,yN)}
其中,
x
i
∈
X
=
R
n
x_i \in X=R^n
xi∈X=Rn,
y
i
∈
Y
=
{
+
1
,
−
1
}
y_i \in Y = \{+1,-1\}
yi∈Y={+1,−1}
对于线性可分的数据,我们想要得到的分类器:
f
(
w
)
=
s
i
g
n
(
w
x
+
b
)
f(w)=sign(wx+b)
f(w)=sign(wx+b)
w
x
+
b
=
0
wx+b=0
wx+b=0就是分离超平面。于是我们需要训练得到该模型的参数,也就是w和b。
这里介绍两个概念,分别是函数间隔和几何间隔:
函数间隔:
超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的函数间隔为 γ i ^ = y i ( w ⋅ x i + b ) \hat{\gamma_i}=y_i(w·x_i+b) γi^=yi(w⋅xi+b)
超平面(w,b)关于训练数据集 T T T的函数间隔为 γ ^ = m i n γ i ^ \hat{\gamma}=min\hat{\gamma_i} γ^=minγi^
几何间隔:
超平面(w,b)关于样本点 ( x i , y i ) (x_i,y_i) (xi,yi)的几何间隔为 γ i = y i ( w ∣ ∣ w ∣ ∣ x i + b ∣ ∣ w ∣ ∣ ) \gamma_i=y_i(\frac{w}{||w||}x_i+\frac{b}{||w||}) γi=yi(∣∣w∣∣wxi+∣∣w∣∣b)
超平面(w,b)关于训练数据集 T T T的几何间隔为 γ = m i n γ i \gamma = min\gamma_i γ=minγi
SVM的训练目标是①能够正确划分训练数据集②使几何间隔最大(硬间隔最大化),整理成数学形式就是:
m
a
x
w
,
b
γ
s
.
t
.
y
i
∗
1
∣
∣
w
∣
∣
(
w
⋅
x
i
+
b
)
>
=
γ
max_{w,b}\gamma \\s.t.\; y_i * \frac{1}{||w||}(w·x_i+b)>=\gamma
maxw,bγs.t.yi∗∣∣w∣∣1(w⋅xi+b)>=γ
也就等价于:
m
a
x
w
,
b
γ
^
∣
∣
w
∣
∣
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
>
=
γ
^
max_{w,b} \frac{\hat{\gamma}}{||w||} \\s.t.\;y_i(w·x_i+b)>=\hat{\gamma}
maxw,b∣∣w∣∣γ^s.t.yi(w⋅xi+b)>=γ^
注意到函数间隔
γ
^
\hat{\gamma}
γ^的取值并不影响优化问题的解,不妨取1代入,并将最大化
1
∣
∣
w
∣
∣
\frac{1}{||w||}
∣∣w∣∣1等价替换成最小化
1
2
∣
∣
w
∣
∣
2
\frac{1}{2}||w||^2
21∣∣w∣∣2
m
i
n
w
,
b
1
2
∣
∣
w
∣
∣
2
s
.
t
.
y
i
(
w
⋅
x
i
+
b
)
−
1
>
=
0
min_{w,b} \frac{1}{2}||w||^2 \\s.t.\;y_i(w·x_i+b)-1>=0
minw,b21∣∣w∣∣2s.t.yi(w⋅xi+b)−1>=0
这是一个凸二次规划问题(目标函数为二次函数;约束函数是线性函数)。
这里再介绍两个概念:
支持向量:
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例。
即使 y i ( w ⋅ x i + b ) − 1 = 0 y_i(w·x_i+b)-1=0 yi(w⋅xi+b)−1=0成立的点
在决定分离超平面时只有支持向量起作用,其他实例点并不起作用,故该模型称为支持向量机
间隔:
w ⋅ x + b = 1 w·x+b=1 w⋅x+b=1和 w ⋅ x + b = − 1 w·x+b=-1 w⋅x+b=−1的距离,等于 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2
对偶算法进行学习
-
对偶算法:为了求解SVM的最优化问题,将其作为原始问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解
-
对偶目的:①对偶问题往往更容易求解;②自然引入核函数,推广到非线性分类问题
-
步骤:
1、构建拉格朗日函数:
L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 N α i y i ( w ⋅ x i + b ) + ∑ i = 1 N α i 其 中 α i > = 0 L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum_{i=1}^N\alpha_iy_i(w·x_i+b)+\sum_{i=1}^{N}\alpha_i \\其中\alpha_i>=0 L(w,b,α)=21∣∣w∣∣2−i=1∑Nαiyi(w⋅xi+b)+i=1∑Nαi其中αi>=0
2、原始问题(极小极大问题):
m i n w , b m a x α L ( w , b , α ) s . t . α i > = 0 min_{w,b}max_{\alpha}L(w,b,\alpha) \\s.t. \alpha_i >= 0 minw,bmaxαL(w,b,α)s.t.αi>=0
3、对偶问题(极大极小问题):
m a x α m i n w , b L ( w , b , α ) s . t . α i > = 0 max_{\alpha}min_{w,b}L(w,b,\alpha) \\s.t.\alpha_i>=0 maxαminw,bL(w,b,α)s.t.αi>=0
4、求 m i n w , b L ( w , b , α ) min_{w,b}L(w,b,\alpha) minw,bL(w,b,α): 令偏导数为0:
∇ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0 \nabla_{w}L(w,b,\alpha)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 ∇wL(w,b,α)=w−i=1∑Nαiyixi=0∇ b L ( w , b , α ) = − ∑ i = 1 N α i y i = 0 \nabla_bL(w,b,\alpha)=-\sum_{i=1}^N\alpha_iy_i=0 ∇bL(w,b,α)=−i=1∑Nαiyi=0
得到:
w = ∑ i = 1 N α i y i x i ∑ i = 1 N α i y i = 0 w=\sum_{i=1}^N\alpha_iy_ix_i \\\sum_{i=1}^N\alpha_iy_i=0 w=i=1∑Nαiyixii=1∑Nαiyi=0
代入拉格朗日函数,得到:
L ( w , b , α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i L(w,b,\alpha)=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_iy_i((\sum_{j=1}^N\alpha_jy_jx_j)·x_i+b)+\sum_{i=1}^N\alpha_i \\=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i L(w,b,α)=21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαiyi((j=1∑Nαjyjxj)⋅xi+b)+i=1∑Nαi=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
即:
m i n w , b L ( w , b , α ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i min_{w,b}L(w,b,\alpha)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i minw,bL(w,b,α)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
5、求 m a x α m i n w , b L ( w , b , α ) max_{\alpha}min_{w,b}L(w,b,\alpha) maxαminw,bL(w,b,α),即对偶问题:
m a x α − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i s . t . α i > = 0 , ∑ i = 1 N α i y i = 0 max_{\alpha}-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i \\s.t.\;\alpha_i>=0\;,\;\\\sum_{i=1}^N\alpha_iy_i=0 maxα−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαis.t.αi>=0,i=1∑Nαiyi=0
等价于:
⭐ m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . α i > = 0 , ∑ i = 1 N α i y i = 0 ⭐min_{\alpha}\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_i \\s.t.\;\alpha_i>=0\;,\;\\\sum_{i=1}^N\alpha_iy_i=0 ⭐minα21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.αi>=0,i=1∑Nαiyi=0
⭐可由此求得最优解 α ∗ \alpha^* α∗6、由于强对偶关系成立,故满足KKT条件,故可由KKT条件(下面有详细说明)求得 w , b w,b w,b的值:
∇ w L ( w ∗ , b ∗ , α ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇ b L ( w ∗ , b ∗ , α ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 ) = 0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 > = 0 α i ∗ > = 0 \nabla_wL(w^*,b^*,\alpha^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 \\\nabla_bL(w^*,b^*,\alpha^*)=-\sum_{i=1}^N\alpha_i^*y_i=0 \\\alpha_i^*(y_i(w^*·x_i+b^*)-1)=0 \\y_i(w^*·x_i+b^*)-1>=0 \\\alpha_i^*>=0 ∇wL(w∗,b∗,α∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,α∗)=−i=1∑Nαi∗yi=0αi∗(yi(w∗⋅xi+b∗)−1)=0yi(w∗⋅xi+b∗)−1>=0αi∗>=0
由此得:
⭐ w ∗ = ∑ i α i ∗ y i x i ⭐w^*=\sum_i\alpha_i^*y_ix_i ⭐w∗=i∑αi∗yixi
至少有一个 α j ∗ > 0 \alpha_j^*>0 αj∗>0(假设 α ∗ = 0 \alpha^*=0 α∗=0,则 w ∗ = 0 w^*=0 w∗=0,显然不行),故有对应的:
y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0 y_j(w^*·x_j+b^*)-1=0 yj(w∗⋅xj+b∗)−1=0⭐ b ∗ = y j − w ∗ ⋅ x j = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j ) ⭐b^* = y_j-w^*·x_j=y_j-\sum_{i=1}^N\alpha_i^*y_i(x_i·x_j) ⭐b∗=yj−w∗⋅xj=yj−i=1∑Nαi∗yi(xi⋅xj)
7、得到分离超平面:
⭐ ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 ⭐\sum_{i=1}^N\alpha_i^*y_i(x·x_i)+b^*=0 ⭐i=1∑Nαi∗yi(x⋅xi)+b∗=0
得到分类决策函数:
⭐ f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) ⭐f(x)=sign(\sum_{i=1}^N\alpha_i^*y_i(x·x_i)+b^*) ⭐f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
可以发现,分类决策函数只依赖于输入x和训练样本输入的内积,且只受支持向量(( α i ∗ > 0 \alpha_i^*>0 αi∗>0)的样本点)影响。8、小结:
对于线性可分训练数据集,首先求对偶问题的解 α ∗ \alpha^* α∗,再利用KKT条件求得 w ∗ , b ∗ w^*,b^* w∗,b∗,从而得到分离超平面及分类决策函数。
-
原始问题和对偶问题的关系:
-
弱对偶关系:
m i n m a x L > = m a x m i n L min\;maxL>=max\;minL minmaxL>=maxminL -
强对偶关系:
m a x m i n L = m i n m a x L max\;minL=min\;maxL maxminL=minmaxL -
补充定理:
- 假设原问题为:
m i n x f ( x ) s . t . c i ( x ) < = 0 , h j ( x ) = 0 min_xf(x) \\s.t. \;c_i(x)<=0\;,\\h_j(x)=0 minxf(x)s.t.ci(x)<=0,hj(x)=0
拉格朗日函数为:
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_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x) L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)-
定理1:如果① f ( x ) f(x) f(x)和 x i ( x ) x_i(x) xi(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数;②不等式约束 c i ( x ) c_i(x) ci(x)严格可行(存在 x x x,对所有 i i i有 c i ( x ) < 0 c_i(x)<0 ci(x)<0),那么存在 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗使得 x ∗ x^* x∗是原问题的解, α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗为对偶问题的解,且 p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha^*,\beta^*) p∗=d∗=L(x∗,α∗,β∗)
-
定理2:假设 f ( x ) f(x) f(x)和 x i ( x ) x_i(x) xi(x)是凸函数, h j ( x ) h_j(x) hj(x)是仿射函数,并且不等式约束 c i ( x ) c_i(x) ci(x)严格可行,则 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是 x ∗ , α ∗ , β ∗ x^*,\alpha^*,\beta^* x∗,α∗,β∗满足以下KKT条件:
∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 α i ∗ c i ( x ∗ ) = 0 c i ( x ∗ ) < = 0 α i ∗ > = 0 h j ( x ∗ ) = 0 \nabla_xL(x^*,\alpha^*,\beta^*)=0 \\\alpha_i^*c_i(x^*)=0 \\c_i(x^*)<=0 \\\alpha_i^*>=0 \\h_j(x^*)=0 ∇xL(x∗,α∗,β∗)=0αi∗ci(x∗)=0ci(x∗)<=0αi∗>=0hj(x∗)=0
-
简单来说,若原始问题满足定理1,即可使得强对偶关系成立,即原问题和对偶问题等价
-
三、软间隔SVM(线性支持向量机)
训练目标
-
针对:假设训练数据集不是线性可分的,通常情况是训练数据中有一些特异点,将这些特异点取出后,剩下大部分的样本点组成的集合是线性可分的。
-
线性不可分意味着某些样本点 ( x i , y i ) (x_i,y_i) (xi,yi)不能满足函数间隔大于等于1的约束条件。对此,可以对每个样本点引进一个松弛变量 ξ i > = 0 \xi_i>=0 ξi>=0,使得函数间隔加上松弛变量大于等于1。约束条件变为 y i ( w ⋅ x i + b ) > = 1 − ξ i y_i(w·x_i+b)>=1-\xi_i yi(w⋅xi+b)>=1−ξi
-
对每个松弛变量支付一个代价。目标函数变为 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i 21∣∣w∣∣2+C∑i=1Nξi。 C > 0 C>0 C>0称为惩罚参数。这样目标函数最小化:①使间隔尽量大;②误分类点的个数尽量小
-
故原始问题:(w解唯一,b解可能不唯一,而是存在于一个区间)
m i n w , b , ξ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i s . t . y i ( w ⋅ x i + b ) > = 1 − ξ i ξ i > = 0 min_{w,b,\xi}\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i \\s.t.\;y_i(w·x_i+b)>=1-\xi_i \\\xi_i>=0 minw,b,ξ21∣∣w∣∣2+Ci=1∑Nξis.t.yi(w⋅xi+b)>=1−ξiξi>=0
对偶算法进行学习
步骤:
1、拉格朗日函数:
L ( w , b , ξ , α , μ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i − ∑ i = 1 N α i ( y i ( w ⋅ x i + b ) − 1 + ξ i ) − ∑ i = 1 N μ i ξ i 其 中 , α i > = 0 , μ i > = 0 L(w,b,\xi,\alpha,\mu)=\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i-\sum_{i=1}^N\alpha_i(y_i(w·x_i+b)-1+\xi_i)-\sum_{i=1}^N\mu_i\xi_i \\其中,\alpha_i>=0,\mu_i>=0 L(w,b,ξ,α,μ)=21∣∣w∣∣2+Ci=1∑Nξi−i=1∑Nαi(yi(w⋅xi+b)−1+ξi)−i=1∑Nμiξi其中,αi>=0,μi>=0
2、求 m i n w , b , ξ L ( w , b , ξ , α , μ ) min_{w,b,\xi}L(w,b,\xi,\alpha,\mu) minw,b,ξL(w,b,ξ,α,μ)
∇ w L ( w , b , ξ , α , μ ) = w − ∑ i = 1 N α i y i x i = 0 ∇ b L ( w , b , ξ , α , μ ) = − ∑ i = 1 N α i y i = 0 ∇ ξ i L ( w , b , ξ , α , μ ) = C − α i − μ i = 0 \nabla_wL(w,b,\xi,\alpha,\mu)=w-\sum_{i=1}^N\alpha_iy_ix_i=0 \\\nabla_bL(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^N\alpha_iy_i=0 \\\nabla_{\xi_i}L(w,b,\xi,\alpha,\mu)=C-\alpha_i-\mu_i=0 ∇wL(w,b,ξ,α,μ)=w−i=1∑Nαiyixi=0∇bL(w,b,ξ,α,μ)=−i=1∑Nαiyi=0∇ξiL(w,b,ξ,α,μ)=C−αi−μi=0
故有:
m i n w , b , ξ L ( w , b , ξ , α , μ ) = − 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i min_{w,b,\xi}L(w,b,\xi,\alpha,\mu)=-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)+\sum_{i=1}^N\alpha_i minw,b,ξL(w,b,ξ,α,μ)=−21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)+i=1∑Nαi
3、再对 α \alpha α求极大即可得到对偶问题:
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i s . t . ∑ i = 1 N α i y i = 0 0 < = α i < = C min_\alpha\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i·x_j)-\sum_{i=1}^N\alpha_i \\s.t.\;\sum_{i=1}^N\alpha_iy_i=0 \\0<=\alpha_i<=C minα21i=1∑Nj=1∑Nαiαjyiyj(xi⋅xj)−i=1∑Nαis.t.i=1∑Nαiyi=00<=αi<=C
据此可求得 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)T α∗=(α1∗,α2∗,...,αN∗)T4、根据KKT条件求得 w ∗ , b ∗ w^*,b^* w∗,b∗:
∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0 ∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 N α i ∗ y i = 0 ∇ ξ i L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α i ∗ − μ i ∗ = 0 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ) = 0 μ i ∗ ξ i ∗ = 0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ > = 0 ξ i ∗ > = 0 α i ∗ > = 0 μ i ∗ > = 0 \nabla_wL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=w^*-\sum_{i=1}^N\alpha_i^*y_ix_i=0 \\\nabla_bL(w^*,b^*,\xi^*,\alpha^*,\mu^*)=-\sum_{i=1}^N\alpha_i^*y_i=0 \\\nabla_{\xi_i}L(w^*,b^*,\xi^*,\alpha^*,\mu^*)=C-\alpha_i^*-\mu_i^*=0 \\\alpha_i^*(y_i(w^*·x_i+b^*)-1+\xi_i^*)=0 \\\mu_i^*\xi_i^*=0 \\y_i(w^*·x_i+b^*)-1+\xi_i^*>=0 \\\xi_i^*>=0 \\\alpha_i^*>=0 \\\mu_i^*>=0 ∇wL(w∗,b∗,ξ∗,α∗,μ∗)=w∗−i=1∑Nαi∗yixi=0∇bL(w∗,b∗,ξ∗,α∗,μ∗)=−i=1∑Nαi∗yi=0∇ξiL(w∗,b∗,ξ∗,α∗,μ∗)=C−αi∗−μi∗=0αi∗(yi(w∗⋅xi+b∗)−1+ξi∗)=0μi∗ξi∗=0yi(w∗⋅xi+b∗)−1+ξi∗>=0ξi∗>=0αi∗>=0μi∗>=0w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j − ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) 其 中 ( x j , y j ) 为 0 < α j ∗ < C 对 应 的 样 本 点 w^*=\sum_{i=1}^N\alpha_i^*y_ix_i \\b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_i·x_j) \\其中(x_j,y_j)为0<\alpha_j^*<C对应的样本点 w∗=i=1∑Nαi∗yixib∗=yj−i=1∑Nyiαi∗(xi⋅xj)其中(xj,yj)为0<αj∗<C对应的样本点
5、分类超平面:
∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ = 0 \sum_{i=1}^N\alpha_i^*y_i(x·x_i)+b^*=0 i=1∑Nαi∗yi(x⋅xi)+b∗=0
分类决策函数:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x ⋅ x i ) + b ∗ ) f(x)=sign(\sum_{i=1}^N\alpha_i^*y_i(x·x_i)+b^*) f(x)=sign(i=1∑Nαi∗yi(x⋅xi)+b∗)
软间隔的支持向量或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在分离超平面误分一侧。若 α i ∗ < C \alpha_i^*<C αi∗<C,则 ξ i = 0 \xi_i=0 ξi=0,样本点恰好落在间隔边界上;若 α i ∗ = 0 \alpha_i^*=0 αi∗=0,则该样本点不是支持向量;若 α i ∗ = C , 0 < ξ i < 1 \alpha_i^*=C,0<\xi_i<1 αi∗=C,0<ξi<1,则分类正确,样本点在间隔边界和分离超平面之间;若 α i ∗ = C , ξ i = 1 \alpha_i^*=C,\xi_i=1 αi∗=C,ξi=1,则样本点落在分离超平面上;若 α i ∗ = C , ξ i > 1 \alpha_i^*=C,\xi_i>1 αi∗=C,ξi>1,则样本点落在分离超平面误分一侧
合页损失函数
线性支持向量机的另一种解释,最小化以下目标函数:
∑
i
=
1
N
[
1
−
y
i
(
w
⋅
x
i
+
b
)
]
+
+
λ
∣
∣
w
∣
∣
2
\sum_{i=1}^N[1-y_i(w·x_i+b)]_++\lambda||w||^2
i=1∑N[1−yi(w⋅xi+b)]++λ∣∣w∣∣2
第一项为经验损失或经验风险;第二项是系数为
λ
\lambda
λ的
w
w
w的
L
2
L_2
L2范数,是正则化项
- 合页损失函数(hinge loss function):
L ( y ( w ⋅ x + b ) ) = [ 1 − y ( w ⋅ x + b ) ] + L(y(w·x+b))=[1-y(w·x+b)]_+ L(y(w⋅x+b))=[1−y(w⋅x+b)]+
- 下标“+”表示:
[ z ] + = { z , z > 0 0 , z < = 0 [z]_+= \begin{cases} z,z>0 \\0,z<=0 \end{cases} [z]+={z,z>00,z<=0
含义:当样本点 ( x i , y i ) (x_i,y_i) (xi,yi)被正确分类且函数间隔 y i ( w ⋅ x i + b ) > 1 y_i(w·x_i+b)>1 yi(w⋅xi+b)>1时,损失是0,否则损失是 1 − y i ( w ⋅ x i + b ) 1-y_i(w·x_i+b) 1−yi(w⋅xi+b)
合页损失函数形状像一个合页,故名
与0-1损失函数相比:0-1损失函数是二分类问题真正的损失函数,二合页损失函数是其上界。由于0-1损失函数不是连续可导的,直接优化其目标函数比较困难,可以认为线性支持向量机是优化由0-1损失函数的上界(合页损失函数)构成的目标函数。这里的上界损失函数又称为代理损失函数。
与虚线的损失函数 [ − y i ( w ⋅ x i + b ) ] + [-y_i(w·x_i+b)]_+ [−yi(w⋅xi+b)]+相比:虚线当样本点被正确分类时,损失是0,否则损失是 − y i ( w ⋅ x i + b ) -y_i(w·x_i+b) −yi(w⋅xi+b)。相比之下,合页损失函数不仅要分类正确,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。
四、非线性SVM(线性不可分支持向量机)
简要介绍
- 核技巧不仅应用于支持向量机,也应用于其它统计学习问题
- 如果能用一个超曲面将正负例正确分开,则称这个问题为非线性可分问题
- 核技巧概述:首先用一个变换将原空间的数据映射到新空间;然后在新空间里用线性分类学习方法训练模型
-
核函数定义:设 X X X是输入空间, H H H为特征空间,如果存在一个从 X X X到 H H H的映射
ϕ ( x ) = X → H \phi(x)=X→H ϕ(x)=X→H
使得对所有 x , z ∈ X x,z\in X x,z∈X,函数 K ( x , z ) K(x,z) K(x,z)满足条件:
K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x,z)=\phi(x)·\phi(z) K(x,z)=ϕ(x)⋅ϕ(z)
则称 K ( x , z ) K(x,z) K(x,z)为核函数, ϕ ( x ) \phi(x) ϕ(x)为映射函数。 -
核技巧想法:只定义核函数 K ( x , z ) K(x,z) K(x,z),而不显式定义 ϕ \phi ϕ。通常直接计算 K ( x , z ) K(x,z) K(x,z)更容易。
-
对于给定的核函数,特征空间和映射函数的取法并不唯一
-
注意到在线性支持向量机的对偶问题中,无论是目标函数还是决策函数(分离超平面)都只涉及输入实例和实例之间的内积,用核函数代替内积的对偶问题的目标函数为:
W ( α ) = 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i W(\alpha)=\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\sum_{i=1}^N\alpha_i W(α)=21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαi
用核函数代替内积的决策函数:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i K ( x i , x ) + b ∗ ) f(x)=sign(\sum_{i=1}^N\alpha_i^*y_iK(x_i,x)+b^*) f(x)=sign(i=1∑Nαi∗yiK(xi,x)+b∗)
等价于将原来的输入空间变换到一个新的特征空间,在新的特征空间里训练线性支持向量机。 -
当映射函数是非线性函数时,学习到的含有核函数的支持向量机是非线性分类模型
-
在实际应用中,往往依赖领域知识直接选择核函数,核函数选择的有效性需要通过实验验证。
-
函数 K ( x , z ) K(x,z) K(x,z)需要满足什么条件才能成为核函数?
- 通常所说的核函数就是正定核函数
- 正定核的充要条件:设 K : X ∗ X → R K:X*X→R K:X∗X→R是对称函数,则 K ( x , z ) K(x,z) K(x,z)为正定核函数的充要条件是对任意 x i ∈ X x_i \in X xi∈X, K ( x , z ) K(x,z) K(x,z)对应的Gram矩阵 K = [ K ( x i , x j ) ] m ∗ m K=[K(x_i,x_j)]_{m*m} K=[K(xi,xj)]m∗m是半正定矩阵
- 但对一个具体函数来说,验证它是否为正定核函数并不容易。在实际问题中往往应用已有的核函数
常用核函数
1、多项式核函数
K
(
x
,
z
)
=
(
x
⋅
z
+
1
)
p
K(x,z)=(x·z+1)^p
K(x,z)=(x⋅z+1)p
对应的支持向量机是一个p次多项式分类器
分类决策函数:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i ( x i ⋅ x + 1 ) p + b ∗ ) f(x)=sign(\sum_{i=1}^N\alpha_i^*y_i(x_i·x+1)^p+b^*) f(x)=sign(i=1∑Nαi∗yi(xi⋅x+1)p+b∗)
2、高斯核函数
K
(
x
,
z
)
=
e
x
p
(
−
∣
∣
x
−
z
∣
∣
2
2
σ
2
)
K(x,z)=exp(-\frac{||x-z||^2}{2\sigma^2})
K(x,z)=exp(−2σ2∣∣x−z∣∣2)
对应的支持向量机是高斯径向基函数分类器
分类决策函数:
f ( x ) = s i g n ( ∑ i = 1 N α i ∗ y i e x p ( − ∣ ∣ x − z ∣ ∣ 2 2 σ 2 ) + b ∗ ) f(x)=sign(\sum_{i=1}^N\alpha_i^*y_iexp(-\frac{||x-z||^2}{2\sigma^2})+b^*) f(x)=sign(i=1∑Nαi∗yiexp(−2σ2∣∣x−z∣∣2)+b∗)
训练算法
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
输出:分类决策函数
算法:
(1)选取适当的(正定)核函数
K
(
x
,
z
)
K(x,z)
K(x,z)和适当的参数C,构造并求解最优化问题:
m
i
n
α
1
2
∑
i
=
1
N
∑
j
=
1
N
α
i
α
j
y
i
y
j
K
(
x
i
,
x
j
)
−
∑
i
=
1
N
α
i
s
.
t
.
∑
i
=
1
N
α
i
y
i
=
0
0
<
=
α
i
<
=
C
min_\alpha\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\sum_{i=1}^N\alpha_i \\s.t.\;\sum_{i=1}^N\alpha_iy_i=0 \\0<=\alpha_i<=C
minα21i=1∑Nj=1∑NαiαjyiyjK(xi,xj)−i=1∑Nαis.t.i=1∑Nαiyi=00<=αi<=C
求得最优解
α
∗
=
(
α
1
∗
,
α
2
∗
,
.
.
.
,
α
N
∗
)
T
\alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)T
α∗=(α1∗,α2∗,...,αN∗)T
(2)选择
α
∗
\alpha^*
α∗的一个正分量
0
<
α
j
∗
<
C
0<\alpha_j^*<C
0<αj∗<C,计算
b
∗
=
y
j
−
∑
i
=
1
N
α
i
∗
y
i
K
(
x
i
,
x
j
)
b^*=y_j-\sum_{i=1}^N\alpha_i^*y_iK(x_i,x_j)
b∗=yj−i=1∑Nαi∗yiK(xi,xj)
(3)构造决策函数:
f
(
x
)
=
s
i
g
n
(
∑
i
=
1
N
α
i
∗
y
i
K
(
x
,
x
i
)
+
b
∗
)
f(x)=sign(\sum_{i=1}^N\alpha_i^*y_iK(x,x_i)+b^*)
f(x)=sign(i=1∑Nαi∗yiK(x,xi)+b∗)