从零开始学习SVM(二)---松弛变量

上一篇文章《从零开始学习SVM》中引出了想要进行分开两个样本需要的目标函数,但是是针对线性可分的。如下图所示,是存在一个超平面完完全全的分开两类样本。
这里写图片描述
但是如果是线性不可分呢?同样以猫狗数据为例,有的狗被主人打扮确实像猫,人都容易混合,像这种相似性比较高的数据,可能无法通过线性的方法完全分开
这里写图片描述
即无法用一个超平面把两类数据分开,属于一种混合的状态,就如下图一样
这里写图片描述
一方面来说,人的识别准确度都无法达到100%,更别说机器了,一般只要机器能达到一个可以容忍的准确度,能完成分类工作就可以了。允许少部分样本在两个边界线内,甚至超出边界线(上图中的红点)。与此同时在最大化间隔的同时,不满足约束的样本应该尽可能的少。

minw,b12||w||2
s.t.yi(wTxi+b)1i=1,2,3,m.

我们的优化目标可以写为:
minw,b12||w||2+Cimζi
s.t.yi(wT+b)1ζi
ζi0,i=1,2,3,m

引入”松弛变量”的概念,显然每个样本都有其对应的”松弛变量”,表征了该样本不满足约束的程度—来自《机器学习》周志华。我的理解是样本离虚线边界距离的大小,越小则不满足约束程度越小,越大则不满足约束程度越大。同理我们通过拉格朗日乘子法可得到的拉格朗日函数为:
L(w,b,α,ζ,u)=12||w||2+Cimζi+imαi(1ζiyi(wT+b))imuiζi

L(w,b,α,ζ,u) w,b,ζ 求偏导为零可以得到
w=imαiyixi
0=imαiyi
C=αi+ui

经过带入可以惊人的发现,”松弛变量”并没有在目标函数里面,感觉整个人都轻松了一把。跟之前的不带有”松弛变量”的目标函数的唯一区别是 α 的取值范围变化了
maxαi=1mαi12i=1mj=1mαiαjyiyjxTixj

s.t.i=1mαiyi=0
Cαi0,i=1,2,,m

KKT条件:
αi0
yif(xi)1+ζi0
αi(yif(xi)1+ζi)=0
ζi0,uiζi=0

KKT条件基本上与不带有”松弛变量”的目标函数一致,求解方法也一样,最大的收获是我们有了得到一定准确度的分类器的方法,使得svm不仅仅应用到科研理论中,同样可以应用到生产,适用业界数据多样、噪声随机多样的情形,满足业界的需求。后面的学习我们将针对该目标函数进行优化,我们将继续对线性分类进行讨论,后面会继续推出非线性的分类解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值