【深度学习】SVM解决线性不可分情况(八)

这篇文章是上一篇文章(七)的补充版,因为(七)的内容太长了,一下子全部看完会搞混,所以分开写了。

线性不可分情况

在介绍SMO算法之前,我还需要插入一小段,来介绍线性不可分的情况。在上面,我们提到了SVM是用来解决二元线性分类问题,也就是通过SVM总能找到一个超平面严格地将数据分成两类,那么对于线性不可分(非线性),不能找到一个严格地将两类数据分开,这里的“严格”指的是,划分类别的时候,总有一些数据分类是错误的,或者落在间隔内,这些数据点称为异常点。而训练SVM的最终目标就是训练出来一个线性分类器,不仅能处理线性可分的数据,而且还能解决线性不可分的数据。 那么,如何解决线性不可分的问题??

解决线性不可分的情况有两种基本的思路:

  1. 加入松弛变量和惩罚因子,找到“相对最好”的超平面,尽可能地将数据分类正确;
  2. 将低维数据(线性不可分)映射到高维空间中,使得在高维空间中数据是线性可分的,并引入核函数解决高维计算复杂的问题。

科普松弛变量:引入松弛变量是解决线性规划中将非标准型的线性规划问题化为标准型,这样有利于问题的求解。当约束条件带有" ≥ \ge “或者” ≤ \le ",可以在不等式左边加上或减去一个非负的变量,化为等式。这个非负的变量就是松弛变量。

思路一:引入松弛变量和惩罚因子

情况1
上图描述了两种情况:①错误分类(也称大离差):黑点中出现了一个白点;②超平面间隔不是最优(小离差):在最大间隔内部出现了一个异常点,这个点不知道属于哪类。对于这两种情况,勉强可认为数据在大体上还是线性可分的,因此我们只需要将约束条件放宽或者缩小最大间隔即可

为此,我们的问题(4-2):
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T x i + b ) ≥ 1 , i = 1 , . . , n (4-2) \min_{w,b}\frac{1}{2}||w||^2\\ s.t.\; y_i(w^Tx_i+b)\ge1, i=1,..,n\tag{4-2} w,bmin21w2s.t.yi(wTxi+b)1,i=1,..,n(4-2)
对约束条件引入松弛变量,得到:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t .    y i ( w T x i + b ) ≥ 1 − ξ i ,    i = 1 , . . , n (4-2-1) \min_{w,b}\frac{1}{2}||w||^2\\ s.t.\; y_i(w^Tx_i+b)\ge1-\xi_i, \;i=1,..,n\tag{4-2-1} w,bmin21w2s.t.yi(wTxi+b)1ξi,i=1,..,n(4-2-1)
这里的 ξ i \xi_i ξi是数据点 x i x_i xi对应的松弛变量,它代表对应的数据点 x i x_i xi运行偏离的几何间隔的量,如果 ξ i \xi_i ξi任意大,也就是说,划分的两类分别是所有数据点归为一种类型和没有数据点的空白类型,这样的话,任意的超平面都合适啦(这样就没意义了…)。如果还是没理解,再通过上面两种情况来解释:

  1. 大离差:白点应该是在 w T x + b ≤ 1 w^Tx+b\le1 wTx+b1区域内,但是现在这个白点(设为第k个)显然不在区域内,即 w T x k + b > 1 w^Tx_k+b>1 wTxk+b>1,所以我们应该要将该点拉回来,所以需要放宽约束条件,能接收它超过约束条件一点,减去松弛变量。
  2. 小离差:这个就更容易解释了,当有一个点落在间隔内部,也就是我们原本设定的支持向量不合适,他不是最近平面点的,因此缩小间隔,减去松弛变量。

好了引入完松弛因子,还有惩罚因子没有加入。在加入惩罚因子前,需要先提一个名词概念"软误差":指所有数据元组的松弛变量的和,即 ∑ i = 1 n ξ i \sum_{i=1}^n\xi_i i=1nξi

惩罚因子是一个大于0的系数(一般记为C),它的加入法则是:软误差乘以该系数后,加入目标函数中,使之称为新的目标函数,如下:

min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i s . t .    y i ( w T x i + b ) ≥ 1 − ξ i ,    i = 1 , . . , n ξ i ≥ 0 ,    i = 1 , . . , n (8) \min_{w,b}\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i\\ s.t.\; y_i(w^Tx_i+b)\ge1-\xi_i, \;i=1,..,n\\ \xi_i\ge0,\;i=1,..,n\tag{8} w,bmin21w2+Ci=1nξis.t.yi(wTxi+b)1ξi,i=1,..,nξi0,i=1,..,n(8)

其中C是用于控制目标函数在 “寻找最大间隔的超平面” 和 “保证数据点偏差量最小” 两者中找到平衡的一个权重参数,是一个确定的常量。

然后,我们需要求解上面的优化问题,根据之前的求解经验(先化成拉格朗日函数,然后转化为对偶问题,最后固定一部分参数,对另一部分参数求偏导),首先将约束条件换成小于等于,才符合条件:
min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i s . t .    ( 1 − ξ i ) − y i ( w T x i + b ) ≤ 0 ,    i = 1 , . . , n − ξ i ≤ 0 ,    i = 1 , . . , n (8) \min_{w,b}\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i\\ s.t.\; (1-\xi_i)-y_i(w^Tx_i+b)\le0, \;i=1,..,n\\ -\xi_i\le0,\;i=1,..,n\tag{8} w,bmin21w2+Ci=1nξis.t.(1ξi)yi(wTxi+b)0,i=1,..,nξi0,i=1,..,n(8)

再写出其对应的拉格朗日函数:
L ( w , b , ξ , α , β ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i + ∑ i = 1 n α i ( 1 − ξ i − y i ( w T x i + b ) ) − ∑ i = 1 n β i ξ i (9) L(w,b,\xi,\alpha,\beta)=\frac{1}{2}||w||^2+C\sum_{i=1}^n\xi_i+\sum_{i=1}^n\alpha_i(1-\xi_i-y_i(w^Tx_i+b))-\sum_{i=1}^n\beta_i\xi_i\tag{9} L(w,b,ξ,α,β)=21w2+Ci=1nξi+i=1nαi(1ξiyi(wTx

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值