机器学习笔记之——支持向量机(二)

支持向量机(二)


1. 核函数

支持向量机(一) 里,我们介绍了线性可分的情况,但是当数据本身是线性不可分时,原有的 SVM 将无法找到最优的超平面。但是我们可以把每个样本映射到高维空间里,使其线性可分,如下图所示:

在这里插入图片描述

原来的样本在二维空间里线性不可分,但是用 ϕ \phi ϕ 函数映射到 3 维空间之后,便可以用一个线性超平面将其分开。

我们可以把这个思想应用到 SVM 里,来解决线性不可分的问题。用 ϕ ( x ) \phi(\boldsymbol x) ϕ(x) 表示将原始样本的特征向量 x \boldsymbol x x 映射到高维空间之后的向量,那么原来的目标函数变为:
(1) min ⁡ w , b 1 2 ∥ w ∥ 2 2 \min_{\boldsymbol w,b} \frac{1}{2} \Vert \boldsymbol w \Vert_2^2 \tag{1} w,bmin21w22(1) s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 … , m s.t.\quad y_i(\boldsymbol w^T \phi (\boldsymbol x_i)+b)\ge 1, i = 1,2\dots,m s.t.yi(wTϕ(xi)+b)1,i=1,2,m 对偶问题为:
(2) max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) \max_{\boldsymbol \alpha} \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j \phi (\boldsymbol x_i)^T \phi (\boldsymbol x_j) \tag{2} αmaxi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)(2) s . t . ∑ i = 1 m α i y i = 0 α i ≥ 0 , i = 1 , 2 , … , m \begin{aligned} s.t.\quad & \sum_{i=1}^m \alpha_i y_i = 0 \\ & \alpha_i \ge 0, \quad i = 1,2,\dots,m \end{aligned} s.t.i=1mαiyi=0αi0,i=1,2,,m 此式子需要计算映射后的高维向量的内积 ϕ ( x i ) T ϕ ( x j ) \phi (\boldsymbol x_i)^T \phi (\boldsymbol x_j) ϕ(xi)Tϕ(xj),倘若 ϕ ( x i ) \phi (\boldsymbol x_i) ϕ(xi) 维度很高甚至是无穷维,则此计算十分费时。如果我们找到一个函数,能直接原向量 x i \boldsymbol x_i xi 计算映射后的向量内积,那就能大大降低计算复杂度,这样的函数便称为核函数,表示如下:
K ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) K(\boldsymbol x_i, \boldsymbol x_j)=\phi (\boldsymbol x_i)^T \phi (\boldsymbol x_j) K(xi,xj)=ϕ(xi)Tϕ(xj) 常用的核函数有:

  • 线性核: K ( x i , x j ) = x i T x j K(x_i,x_j)=x_i^Tx_j K(xi,xj)=xiTxj
  • 多项式核: K ( x i , x j ) = ( x i T x j ) d K(x_i,x_j)=(x_i^Tx_j)^d K(xi,xj)=xiTxj)d
  • 高斯核: K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ 2 2 σ 2 ) K(x_i,x_j)=exp(-\frac{\Vert x_i-x_j \Vert^2}{2 \sigma^2}) K(xi,xj)=exp(2σ2xixj2)
  • 拉普拉斯核: K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ σ ) K(x_i,x_j)=exp(-\frac{\Vert x_i-x_j \Vert }{\sigma}) K(xi,xj)=exp(σxixj)
  • Sigmoid 核: K ( x i , x j ) = t a n h ( β x i T x j + θ ) K(x_i,x_j)=tanh(\beta x_i^Tx_j+\theta) K(xi,xj)=tanh(βxiTxj+θ)

2. 软间隔

前面我们求解 SVM 问题的时候,约束是 y i ( w T ϕ ( x i ) + b ) ≥ 1 , i = 1 , 2 … , m y_i(\boldsymbol w^T \phi (\boldsymbol x_i)+b)\ge 1, i = 1,2\dots,m yi(wTϕ(xi)+b)1,i=1,2,m,即对于所有的样本,都要求他们在分类间隔带的两侧,但是这样的要求太过严格,容易过拟合,易受异常值影响,反而难以得到分类间隔最大的超平面,甚至找不到线性可分的超平面。

在这里插入图片描述

若忽视圈出的蓝色的点,可以得到分类间隔较大的分类器,若要把该样本也分类正确,则得到的分类器间隔太小,泛化能力较差。

解决此问题的办法是允许分类器在一些样本上出错,从而仍然保持分类器间隔较大。引入松弛变量 ξ i ≥ 0 \xi_i \ge 0 ξi0,将目标函数变为:
(3) min ⁡ w , b 1 2 ∥ w ∥ 2 2 + C ∑ i = 1 m ξ i \min_{\boldsymbol w,b} \frac{1}{2} \Vert \boldsymbol w \Vert_2^2 + C\sum_{i=1}^m \xi_i \tag{3} w,bmin21w22+Ci=1mξi(3) s . t . y i ( w T ϕ ( x i ) + b ) ≥ 1 − ξ i , i = 1 , 2 … , m ξ i ≥ 0 , i = 1 , 2 , … , m \begin{aligned} s.t.\quad & y_i(\boldsymbol w^T \phi (\boldsymbol x_i)+b)\ge 1-\xi_i, i = 1,2\dots,m \\ & \xi_i \ge 0, \quad i = 1,2,\dots,m \end{aligned} s.t.yi(wTϕ(xi)+b)1ξi,i=1,2,mξi0,i=1,2,,m 此时我们不再要求 y i ( w T ϕ ( x i ) + b ) ≥ 1 y_i(\boldsymbol w^T \phi (\boldsymbol x_i)+b)\ge 1 yi(wTϕ(xi)+b)1 严格满足,而是允许比 1 小 ξ i \xi_i ξi,当然我们希望 ξ i \xi_i ξi 越小越好,因此把其作为正则项加到目标函数后面,在最大化分类间隔(对应目标函数第一项 1 / 2 ∥ w ∥ 2 2 1/2 \Vert \boldsymbol w \Vert_2^2 1/2w22)和把样本都分对(对应目标函数第二项 ∑ i = 1 m ξ i \sum_{i=1}^m \xi_i i=1mξi)之间权衡。此时对偶问题的形式为:
(4) max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j ϕ ( x i ) T ϕ ( x j ) \max_{\boldsymbol \alpha} \sum_{i=1}^m \alpha_i - \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m \alpha_i \alpha_j y_i y_j \phi (\boldsymbol x_i)^T \phi (\boldsymbol x_j) \tag{4} αmaxi=1mαi21i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)(4) s . t . ∑ i = 1 m α i y i = 0 0 ≤ α i ≤ C , i = 1 , 2 , … , m \begin{aligned} s.t.\quad & \sum_{i=1}^m \alpha_i y_i = 0 \\ & 0 \le \alpha_i \le C, \quad i = 1,2,\dots,m \end{aligned} s.t.i=1mαiyi=00αiC,i=1,2,,m
而 KKT 部分条件为:
α i ( y i f ( x i ) − 1 + ξ i ) = 0 \alpha_i(y_i f(\boldsymbol x_i)-1+\xi_i)=0 αi(yif(xi)1+ξi)=0 C = α i + μ i , μ i ξ i = 0 C=\alpha_i+\mu_i, \quad \mu_i \xi_i=0 C=αi+μi,μiξi=0分析如下:

  • α i = 0 \alpha_i=0 αi=0,对应样本不是支持向量,对分类平面无影响

  • α i > 0 \alpha_i>0 αi>0,则 y i f ( x i ) = 1 − ξ i y_i f(\boldsymbol x_i)=1-\xi_i yif(xi)=1ξi,是支持向量

    • α i &lt; C \alpha_i &lt; C αi<C,则 μ i &gt; 0 \mu_i &gt; 0 μi>0,因而 ξ i = 0 \xi_i=0 ξi=0,恰好在分界边界
    • α i = C \alpha_i = C αi=C,则 μ i = 0 \mu_i = 0 μi=0,则 ξ i ≥ 0 \xi_i \ge 0 ξi0
      • ξ i ≤ 1 \xi_i \le 1 ξi1,该样本在分类间隔带
      • ξ i &gt; 1 \xi_i &gt; 1 ξi>1,该样本被错分
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值