支持向量机浅析(1):训练数据线性可分时的算法

例子
  给定数据 xi 和标签 yi ,比如:

xi yi
(2,3)-1
(3,2)-1
(5,7)+1
(8,9)+1

  如何寻找一条直线

w1x1+w2x2+b=0(1)

把这组点分开,使得两类之间间隔最大?

  这个问题可归结为寻找分割线: wx+b=1 wx+b=1 。我们假设每个点都有标签 yi ,满足下面约束条件:
  对于所有使 yi=1 的上标 i ,有 wxi+b1;
  对于所有使 yi=1 的上标 i ,有 wxi+b1
  该约束条件等价于:

yi(wxi+b)1, i=1,2,...,l(2)

数学模型

  由于直线 wx+b=1 wx+b=1 之间的距离:

d=2w21+w22

  间隔最大化实际上就是 2w21+w22 最大化,也就是 w21+w22 最小化。就本文例子来看,约束方程如下:

mins.t.w21+w222w13w2b3w12w2b7w1+8w2+b8w1+9w2+b1111(3)

  显然这是 二次规划问题。

  习惯上,支持向量机的规划模型表述为下述形式:

min12w2 s.t.,yi(wx+bi)1,i=1,2,...,n(4)
  

二次规划求解方法

  不打算太过正式讨论二次规划求解方法,等我有时间全面搜集一下素材,专门讨论一下。二次规划求解算法的开源代码应该也容易找到,可能根本不需要自己动手写这些代码。这里简单说一下基本思路,不一定真有用,只能解决有强迫症的读者的思想性疑问。支持向量机给出的二次规划模型有一定特殊性,我会另写文章分析更好的求解方法。

  对于数学规划问题而言,如果最优解落在可行域内部,则最优解通常是目标函数的无约束极值之一;否则,最优解应该落在可行域边界。如果不考虑(2)式的约束条件,它的唯一的一个无约束极值点显然是 w1=0,w2=0 。依据(1)式,显然 b=0 ,这显然不符合后面的约束条件。好吧,既然无约束极值点落在了约束条件之外,那么,规划(3)的最优解一定落在可行域的边界上。比如第一条边界上的最优解可通过下面规划问题求得:

mins.t.w21+w222w13w2b=1

  最后把答案代入约束条件验证,即可求出最优解,详细步奏不再赘述。(其实这个过程还是有些复杂,我会在稍后的博文中讨论这个话题。)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值