在前面的博客中,我们已经详细讲述过了,什么是过拟合问题。
过拟合(overfitting)表现为模型在训练集上预测效果好,在测试集上预测效果差。

数据中的异常点会导致过拟合,这些异常点,严重偏离正常位置。
在SVM中,最优分类超平面恰恰是那些占少数的支持向量,如果支持向量中碰巧存在异常点,那么我们傻傻地让SVM去拟合这样的数据,最后的超平面就不是最优的了。

具体例子:(参考:https://www.jianshu.com/p/9b03cac58966)
如下图所示,深红色线表示我们希望训练得到的最优分类超平面,黑色虚线表示由于过拟合得到的较差的分类面。这是由于蓝色数据中有一个异常点,即图中的那个黑圈蓝点,使得我们的SVM去将就配合它,导致最后得到的分类面(粗黑色虚线)不尽如人意。从间隔可以看出,黑色虚线两边的间隔要比红色线两边的间隔要狭窄,也就是黑色虚线的分类效果比较差

解决过拟合的办法是为SVM引入了松弛变量ξ(slack variable),将SVM公式的约束条件改为:

从下可以看到,引入松弛变量使SVM能够容忍异常点的存在

为什么?

因为引入松弛变量后,所有点到超平面的距离约束不需要大于等于1了,而是大于0.8就行了(如果ξ=0.2的话),那么异常点就可以不是支持向量了,它就作为一个普通的点存在,我们的支持向量和超平面都不会受到它的影响。

我们知道,事物都有两面性,对异常点太容忍会导致任意超平面都可以是“最优”超平面,SVM就失去意义了。因此SVM公式中的目标函数也需要相应修改,我们加上松弛变量的平方和,并求最小值。这样就达到一个平衡:既希望松弛变量存在以解决异常点问题,又不希望松弛变量太大导致分类解决太差。

总结:svm中解决过拟合问题.
(1)数据扩增(前面说过)
(2)减少特征维度,维度太高,进行降维
(3)引入松弛变量,SVM特有的(类似于正则化?还在研究中。。。)

注:SVM中还有很多知识需要学习,一点一点啃。

以上内容,如有错误,望留言指正。

引用和参考:

https://www.jianshu.com/p/9b03cac58966

http://www.blogjava.net/zhenandaci/archive/2009/03/15/259786.html

https://www.zhihu.com/question/20178589

https://www.zhihu.com/question/30230784

仅用来个人学习和分享,如若侵权,留言立删。

尊重他人知识产权,不做拿来主义者!

喜欢的可以关注我哦QAQ,

你的关注就是我write博文的动力。

SVM中如何防止过拟合相关推荐

  1. 利用进化算法+多进程/多线程来优化SVM中的两个参数:C和Gamma

    该案例展示了如何利用进化算法+多进程/多线程来优化SVM中的两个参数:C和Gamma. 在执行本案例前,需要确保正确安装sklearn,以保证SVM部分的代码能够正常执行. 本函数需要用到一个外部数据 ...

  2. 机器学习——图解SVM中gamma和c参数的作用

    参数c和gamma的作用 我们通过下图详解参数c的作用,首先我们以一个简单的线性分类器为例,上一个博客中我们知道影响分类器的主要因素是支持向量,即虚线上的样本,如下图可知: 但当正负样本的分布在如下情 ...

  3. sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别

    区别: LinearSVC: SVM线性分类器:用来实现线性的分类任务 """鸢尾花数据集,执行一个分类问题"""import numpy ...

  4. SVM 中的数学和算法

    前言 本文转自 sealyao 的博客,原文链接「CSDN - SVM中的数学和算法」,是我在学习 SVM 的过程中找到的一篇讲解比较透彻的文章,这里转载过来分享给大家,并优化一下原文的排版. SVM ...

  5. R语言广义线性模型函数GLM、R中有几种泊松回归扩展和变异、变时段泊松回归、零膨胀泊松回归、鲁棒泊松回归、pscl包的zeroinfl拟合零膨胀泊松回归、robust包中的glmRob函数拟合鲁棒模型

    R语言广义线性模型函数GLM.glm函数构建泊松回归模型.R中有几种泊松回归扩展和变异.变时段泊松回归.零膨胀泊松回归.鲁棒泊松回归.pscl包的zeroinfl拟合零膨胀泊松回归.robust包中的 ...

  6. R语言广义线性模型函数GLM、R中有几种logistic回归扩展和变异、robust包中的glmRob函数鲁棒logistic回归、ms包中的lrm函数拟合序数逻辑回归

    R语言广义线性模型函数GLM.glm函数构建逻辑回归模型(Logistic regression).R中有几种logistic回归扩展和变异.robust包中的glmRob函数鲁棒logistic回归 ...

  7. 机器学习中常见的过拟合解决方法

    机器学习中常见的过拟合解决方法 参考文章: (1)机器学习中常见的过拟合解决方法 (2)https://www.cnblogs.com/jiangxinyang/p/9281107.html 备忘一下 ...

  8. SVM中的线性分类器

    线性分类器: 首先给出一个非常非常简单的分类问题(线性可分),我们要用一条直线,将下图中黑色的点和白色的点分开,很显然,图上的这条直线就是我们要求的直线之一(可以有无数条这样的直线)     假如说, ...

  9. SVM中为何间隔边界的值为正负1

    在WB二面中,问到让讲一下SVM算法. 我回答的时候,直接答道线性分隔面将样本分为正负两类,取平行于线性分割面的两个面作为间隔边界,分别为:wx+b=1和wx+ b = -1. 面试官就问,为什么是正 ...

最新文章

  1. 分享13个帮助你简化开发的jQuery插件
  2. MySQL安装步骤及相关问题解决
  3. Mocha BSM基础架构管理——网络设备
  4. Java设计模式之双向责任链COR模式
  5. JSF优点(转载自中国IT实验室)
  6. Boost:计时系的测试
  7. ccs读取dat文件c语言程序,TMS320DM642学习----第六篇(CCS中.dat文件类型详解)
  8. 枚举ENUM的tostring() valueof()name()和values()用法
  9. python—auto-py-to-exe—.py文件打包成.exe文件最全最详细(用不同的类别做教程)
  10. Atitit webshell java 实现 命令行输出读取问题总结 1.1. 读取组赛 或者读取了一部分。。使用cmd /c 模式,强制关闭刷新缓冲区 1 1.2. 乱码解决 1 1.3. /h
  11. 正则表达式视频教程免费下载
  12. fastboot命令大全
  13. 利用BS爬取单词音标
  14. EPON联通网关超级管理员密码获取办法
  15. aspCms 标签大全
  16. [Paper Reading]开始写Paper Reading Report
  17. 2022年熔化焊接与热切割考试题模拟考试题库及模拟考试
  18. 系统安装部署系列教程(一):安装原版系统镜像
  19. OverTheWire-Bandit
  20. exit status 145: Ŀ¼���ǿյġ� exit s

热门文章

  1. Linux系统MBR和GPT分区的区别
  2. html 样式中加小手 鼠标如何设置显示小手状
  3. 如何申请与配置微信小程序?
  4. Echart的效果图表(组件都是引入echart的块)
  5. Linux 使用mkfs命令格式化硬盘
  6. Oracle+DML语法,Oracle DML
  7. ACCESS实例2 资料管理4——资料管理的报表
  8. JAVA实现数据库数据导入/导出到Excel(POI)
  9. jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
  10. 牛客网牛牛换瓷砖的编程题