前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【机器学习】今天详细谈下Soft Margin SVM和 SVM正则化

【机器学习】今天详细谈下Soft Margin SVM和 SVM正则化

作者头像
zenRRan
发布2018-08-09 11:40:53
1.1K0
发布2018-08-09 11:40:53
举报

导读

昨天详细谈了谈最简单的SVM,相比较于今天要讲的Soft Margin SVM来说,昨天讲的其实是Hard Margin SVM,没看过的朋友们可以点击这里:

【机器学习】今天想跟大家聊聊SVM

为什么提出Soft Margin SVM

还是举一个例子吧

该点属于蓝色类别,所以决策线如图所示。但是这个决策边界如果运用到现实环境中的话,肯定会有很大的误分类点。也就是该分类线没有泛化能力。关于上述的情况,其实我们的理想分类线应该为:

虽然在训练集中分类效果不好,但是它具有一定的泛化能力!毕竟我们的模型最终都是要用到现实生活中去的。

再比如存在线性不可分的点,但还是理想情况还是可以分的情况,如

而能解决上述2种问题的SVM就被成为Soft Margin SVM,允许一些点进行错误分类。

Soft Margin SVM理论

我们先回顾下之前的SVM(Hard Margin SVM)的优化公式:

像上述距离的两种情况不能分类的具体原因就是该条件的限制:

现在我们允许一些点犯错,也就是允许一些点不满足这个公式,放放水,所以对每个点引入一个松弛变量(大于等于0),使得

+它的松弛变量 >= 1

即可,转换下公式为

>= 1 - 它的松弛变量

上述式子的专业公式为:

但是松弛变量也不能太大,得需要有东西看着它,怎么看着呢?当然就是用目标函数啦。又因为每个数据点都有自己的松弛变量,所以需要需要求和作为最终目标函数的一部分:

但是这样的目标函数

表示a和b重要性是相同的。但是实际上a,b是有各自的权重的,但是这里其实只要在b部分加个权重C即可:

当C越大时,代表主要是优化b部分,所以就对于b项很严格,最终就使得结果越接近Hard Margin SVM。反之,当C越小时,代表主要优化a部分,就对于b宽松很多,最终就是的结果非常的Soft Margin SVM。如何选择C值,自己调试即可。

所以最终的完整目标函数为:

SVM正则化

正则化,听起来有难度的赶脚,但是实际上很简单,比如上述的目标函数就是L1正则:

这里的L1正则说的是松弛变量的幂。那样这样就很好理解L2正则啦:

常用的是L2正则,个人觉得是实验效果决定的结果吧。

代码实践

这里用的是sklearn来实践的

数据介绍

初始化SVM C = 1e9

SVM还有很多参数,感兴趣的可以自行了解哈。

可视化

改变C的值,C = 0.01

注意到该点的分类变化。

PS:今天就到这里吧,下次会带来对偶问题和核函数,以及SVM的回归模型。敬请期待!

IELTS a bit

documentation n. 文件,证明文件,史实,文件编制

clientele n. 客户;诉讼委托人

sequential adj. 连续的;相继的;有顺序的

conclusive adj. 决定性的;最后的;确定的;确实的;确定性的

introspection n. 内省;反省

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度学习自然语言处理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档