机器学习,详解SVM软间隔与对偶问题

今天是机器学习专题的第34篇文章,我们继续来聊聊SVM模型。

我们在上一篇文章当中推导了SVM模型在硬间隔的原理以及公式,最后我们消去了所有的变量,只剩下了 α \alpha α。在硬间隔模型当中,样本是线性可分的,也就是说-1和1的类别可以找到一个平面将它完美分开。但是在实际当中,这样的情况几乎是不存在的。道理也很简单,完美是不存在的,总有些样本会出错

那针对这样的问题我们应该怎么解决呢?

软间隔

在上文当中我们说了,在实际的场景当中,数据不可能是百分百线性可分的,即使真的能硬生生地找到这样的一个分隔平面区分开样本,那么也很有可能陷入过拟合当中,也是不值得追求的。

因此,我们需要对分类器的标准稍稍放松,允许部分样本出错。但是这就带来了一个问题,在硬间隔的场景当中,间隔就等于距离分隔平面最近的支持向量到分隔平面的距离。那么,在允许出错的情况下,这个间隔又该怎么算呢?

为了解决这个问题,我们需要对原本的公式进行变形,引入一个新的变量叫做松弛变量。松弛变量我们用希腊字母 ξ \xi ξ来表示,这个松弛变量允许我们适当放松 y i ( ω T x i + b ) ≥ 1 y_i(\omega^T x_i + b) \ge 1 yi(ωTxi+b)1这个限制条件,我们将它变成 y i ( ω T x i + b ) ≥ 1 − ξ i y_i(\omega^T x_i + b) \ge 1-\xi_i yi(ωTxi+b)1ξi

也就是说对于每一条样本我们都会有一个对应的松弛变量 ξ i \xi_i ξi,它一共有几种情况。

  1. ξ = 0 \xi=0 ξ=0,表示样本能够正确分类
  2. 0 < ξ < 1 0 < \xi < 1 0<ξ<1,表示样本在分割平面和支持向量之间
  3. ξ = 1 \xi = 1 ξ=1,表示样本在分割平面上
  4. ξ ≥ 1 \xi \ge 1 ξ1,表示样本异常

我们可以结合下面这张图来理解一下,会容易一些:

在这里插入图片描述

松弛变量虽然可以让我们表示那些被错误分类的样本,但是我们当然不希望它随意松弛,这样模型的效果就不能保证了。所以我们把它加入损失函数当中,希望在松弛得尽量少的前提下保证模型尽可能划分正确。这样我们可以重写模型的学习条件:

在这里插入图片描述

这里的C是一个常数,可以理解成惩罚参数。我们希望 ∣ ∣ ω ∣ ∣ 2 ||\omega||^2 ω2尽量小,也希望 ∑ ξ i \sum \xi_i ξi尽量小,这个参数C就是用来协调两者的。C越大代表我们对模型的分类要求越严格,越不希望出现错误分类的情况,C越小代表我们对松弛变量的要求越低。

从形式上来看模型的学习目标函数和之前的硬间隔差别并不大,只是多了一个变量而已。这也是我们希望的,在改动尽量小的前提下让模型支持分隔错误的情况。

模型推导

对于上面的式子我们同样使用拉格朗日公式进行化简,将它转化成没有约束的问题

首先,我们确定几个值。第一个是我们要优化的目标: f ( x ) = min ⁡ ω , b , ξ 1 2 ∣ ∣ ω ∣ ∣ 2 + C ∑ i = 1 m ξ i f(x)=\min_{\omega, b, \xi}\frac{1}{2}||\omega||^2 + C\sum_{i=1}^m \xi_i f(x)=minω,b,ξ21ω2+Ci=1mξi

第二个是不等式约束,拉格朗日乘子法当中限定不等式必须都是小于等于0的形式,所以我们要将原式中的式子做一个简单的转化:

g ( x ) = 1 − ξ i − y i ( ω T x i + b ) ≤ 0 h ( x ) = − ξ i ≤ 0 \begin{aligned} g(x) = 1 - \xi_i - y_i(\omega^Tx_i + b) \leq 0 \\ h(x) = -\xi_i \le 0 \end{aligned} g(x)=1ξiyi(ωTxi+b)0h(x)=ξi0

最后是引入拉格朗日乘子: α = ( α 1 , α 2 , ⋯   , α m ) , β = ( β 1 , β 2 , ⋯   , β m ) \alpha = (\alpha_1, \alpha_2, \cdots, \alpha_m), \beta = (\beta_1, \beta_2, \cdots, \beta_m) α=(α1,α2,,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值