[基本功]支持向量机(SVM)理论知识

本文参考李航的《统计学习方法》撰写

一、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 xiX=Rn y i ∈ Y = { + 1 , − 1 } y_i \in Y = \{+1,-1\} yiY={+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(wxi+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(wwxi+wb)

    超平面(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.yiw1(wxi+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,bwγ^s.t.yi(wxi+b)>=γ^
注意到函数间隔 γ ^ \hat{\gamma} γ^的取值并不影响优化问题的解,不妨取1代入,并将最大化 1 ∣ ∣ w ∣ ∣ \frac{1}{||w||} w1等价替换成最小化 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}||w||^2 21w2
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,b21w2s.t.yi(wxi+b)1>=0
这是一个凸二次规划问题(目标函数为二次函数;约束函数是线性函数)。

这里再介绍两个概念:

  • 支持向量:

    在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例。

    即使 y i ( w ⋅ x i + b ) − 1 = 0 y_i(w·x_i+b)-1=0 yi(wxi+b)1=0成立的点

    在决定分离超平面时只有支持向量起作用,其他实例点并不起作用,故该模型称为支持向量机

  • 间隔:

    w ⋅ x + b = 1 w·x+b=1 wx+b=1 w ⋅ x + b = − 1 w·x+b=-1 wx+b=1的距离,等于 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} w2

对偶算法进行学习

  • 对偶算法:为了求解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,α)=21w2i=1Nαiyi(wxi+b)+i=1Nα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,α)=wi=1Nα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=1Nα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=1Nαiyixii=1Nα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=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nα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=1Nj=1Nαiαjyiyj(xixj)+i=1Nα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=1Nj=1Nαiαjyiyj(xixj)+i=1Nαis.t.αi>=0,i=1Nα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=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.αi>=0,i=1Nα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,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0αi(yi(wxi+b)1)=0yi(wxi+b)1>=0αi>=0
    ​ 由此得:
    ⭐ w ∗ = ∑ i α i ∗ y i x i ⭐w^*=\sum_i\alpha_i^*y_ix_i w=iαiyixi
    ​ 至少有一个 α 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(wxj+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=yjwxj=yji=1Nαiyi(xixj)

    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=1Nαiyi(xxi)+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=1Nαiyi(xxi)+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=1kαici(x)+j=1lβ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αici(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(wxi+b)>=1ξi

  • 对每个松弛变量支付一个代价。目标函数变为 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i \frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i 21w2+Ci=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,ξ21w2+Ci=1Nξis.t.yi(wxi+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,ξ,α,μ)=21w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμ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,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nα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=1Nj=1Nαiαjyiyj(xixj)+i=1Nα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=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyi=00<=αi<=C
​ 据此可求得 α ∗ = ( α 1 ∗ , α 2 ∗ , . . . , α N ∗ ) T \alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)T α=(α1,α2,...,αN)T

4、根据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,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nαiyi=0ξiL(w,b,ξ,α,μ)=Cαiμi=0αi(yi(wxi+b)1+ξi)=0μiξi=0yi(wxi+b)1+ξi>=0ξi>=0αi>=0μi>=0

w ∗ = ∑ 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=1Nαiyixib=yji=1Nyiαi(xixj)(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=1Nαiyi(xxi)+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=1Nαiyi(xxi)+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=1N[1yi(wxi+b)]++λw2
第一项为经验损失或经验风险;第二项是系数为 λ \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(wx+b))=[1y(wx+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(wxi+b)>1时,损失是0,否则损失是 1 − y i ( w ⋅ x i + b ) 1-y_i(w·x_i+b) 1yi(wxi+b)

  • 合页损失函数形状像一个合页,故名

  • 与0-1损失函数相比:0-1损失函数是二分类问题真正的损失函数,二合页损失函数是其上界。由于0-1损失函数不是连续可导的,直接优化其目标函数比较困难,可以认为线性支持向量机是优化由0-1损失函数的上界(合页损失函数)构成的目标函数。这里的上界损失函数又称为代理损失函数。

  • 与虚线的损失函数 [ − y i ( w ⋅ x i + b ) ] + [-y_i(w·x_i+b)]_+ [yi(wxi+b)]+相比:虚线当样本点被正确分类时,损失是0,否则损失是 − y i ( w ⋅ x i + b ) -y_i(w·x_i+b) yi(wxi+b)。相比之下,合页损失函数不仅要分类正确,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。

四、非线性SVM(线性不可分支持向量机)

简要介绍

  • 核技巧不仅应用于支持向量机,也应用于其它统计学习问题
  • 如果能用一个超曲面将正负例正确分开,则称这个问题为非线性可分问题
  • 核技巧概述:首先用一个变换将原空间的数据映射到新空间;然后在新空间里用线性分类学习方法训练模型

  • 核函数定义:设 X X X是输入空间, H H H为特征空间,如果存在一个从 X X X H H H的映射
    ϕ ( x ) = X → H \phi(x)=X→H ϕ(x)=XH
    使得对所有 x , z ∈ X x,z\in X x,zX,函数 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=1Nj=1NαiαjyiyjK(xi,xj)i=1Nα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=1NαiyiK(xi,x)+b)
    等价于将原来的输入空间变换到一个新的特征空间,在新的特征空间里训练线性支持向量机。

  • 当映射函数是非线性函数时,学习到的含有核函数的支持向量机是非线性分类模型

  • 在实际应用中,往往依赖领域知识直接选择核函数,核函数选择的有效性需要通过实验验证。

  • 函数 K ( x , z ) K(x,z) K(x,z)需要满足什么条件才能成为核函数?

    • 通常所说的核函数就是正定核函数
    • 正定核的充要条件:设 K : X ∗ X → R K:X*X→R K:XXR是对称函数,则 K ( x , z ) K(x,z) K(x,z)为正定核函数的充要条件是对任意 x i ∈ X x_i \in X xiX 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)]mm是半正定矩阵
    • 但对一个具体函数来说,验证它是否为正定核函数并不容易。在实际问题中往往应用已有的核函数

常用核函数

1、多项式核函数
K ( x , z ) = ( x ⋅ z + 1 ) p K(x,z)=(x·z+1)^p K(x,z)=(xz+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=1Nαiyi(xix+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σ2xz2)

  • 对应的支持向量机是高斯径向基函数分类器

  • 分类决策函数:
    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=1Nαiyiexp(2σ2xz2)+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=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαis.t.i=1Nα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=yji=1NαiyiK(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=1NαiyiK(x,xi)+b)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值