SVM: 直观上理解大间距分类器
在SVM中,增加安全的间距因子
那么增加了这个间距因子后,会出现什么样的结果呢,我们将C设置为很大(C=100000)
SVM决策边界
当我们将C设置得很大进,要想SVM的cost function最小,则要使蓝色框里面的term=0,即当y(i)=1时,θTx(i)>=1;当y(i)=0时,θTx(i)<=-1。这时我们的cost function就会变成上图右边所示(S.T.表示限制条件),在求解这个cost function的最小值的时候,我们会得到一个决策边界,这时我们的决策边界会是什么样子呢?
SVM决策边界: 线性可分的例子(直观上理解什么叫做大间距分类器)
上图中的正负例子,我们可以线性可分,如上图所示,绿色的线,粉红色的线,黑色的线都可以将其分开,但是黑色的线分开的表现是最好的,绿色、粉红都有一些不好。黑色的线与两个正负样本之间有大的间距(margin)。故SVM具有robustness(鲁棒性): 健壮和强壮的意思。即它努力用最大间距来分离样本
所以SVM也称为Large margin classifier(大间距分类器)
在求解上幅图中的cost function的最小值的时候,我们会得到类似于上面的这个决策边界,即努力用最大间距来分离样本,为什么会得到这个分类器将以后介绍。现在我们只是对SVM的large margin classifier有一个直观上的了解。
SVM是如何处理异常点的
我们可以从直观上看到SVM做为一个大间距分类器(当C非常大时),将画出黑色的决策边界线。当C非常大时,这时如果有一个异常正值点(上图左下角),这时SVM就会画出粉色的决策边界线,但是为了一个异常值将决策线从黑色改为粉色并不好,这里如果我们将C设置不那么大(not too large)时,SVM的决策边界线还是黑色的那条,不会受异常点而变动。
当C不是很大时,SVM在有异常值的情况下(如上图中的4个异常值)仍然可以将样本分离出来。
C=1/λ,当C很大时,即λ很少,即正则化参数很小,则趋向于画出过拟合的线;当C不是很大时,即λ有值,加入了正则化,泛化能力增强,不会为了一两个异常值而改变。
总结
- 当C很大时,我们从直观上理解SVM做为大间距分类器
- 当C不是很大时,SVM有较好的泛华能力,能适应异常值
SVM: 直观上理解大间距分类器的更多相关文章
- 吴恩达机器学习103:SVM之大间隔分类器的数学原理
1.向量内积: (1)假设有u和v这两个二维向量:,接下来看一下u的转置乘以v的结果,u的转置乘以v也叫做向量u和向量v的内积,u是一个二维向量,可以将其在图上画出来,如下图所示向量u: 在横轴上它的 ...
- 对SVM的个人理解---浅显易懂
原文:http://blog.csdn.net/arthur503/article/details/19966891 之前以为SVM很强大很神秘,自己了解了之后发现原理并不难,不过,“大师的功力在于将 ...
- SVM问题再理解与分析——我的角度
SVM问题再理解与分析--我的角度 欢迎关注我的博客:http://www.cnblogs.com/xujianqing/ 支持向量机问题 问题先按照几何间隔最大化的原则引出他的问题为 上面的约束条件 ...
- 对SVM的个人理解
对SVM的个人理解 之前以为SVM很强大很神秘,自己了解了之后发现原理并不难,不过,“大师的功力在于将idea使用数学定义它,使用物理描述它”,这一点在看SVM的数学部分的时候已经深刻的体会到了,最小 ...
- [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...
- 跟上节奏 大数据时代十大必备IT技能
跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...
- tp5+layui 实现上传大文件
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...
- Java内存映射,上G大文件轻松处理
内存映射文件(Memory-mapped File),指的是将一段虚拟内存逐字节映射于一个文件,使得应用程序处理文件如同访问主内存(但在真正使用到这些数据前却不会消耗物理内存,也不会有读写磁盘的操作) ...
- Web上传大文件的解决方案
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
随机推荐
- (CSDN迁移) 替换字符串中的空格
题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. public ...
- 问题二:appium 搞定权限弹框的一个小办法
public void permission() { for (int i=0; i <= 10; i++) { if (getPageSource().contains("允许&qu ...
- xshell和Xftp连接虚拟机
首先连接虚拟机之前,先配置自己的IP地址,见博客https://www.cnblogs.com/xuzhaoyang/p/11264573.html xshell和Xftp下载请到官网http://w ...
- 17.Python略有小成(包,logging模块)
Python(包,logging模块) 一.包 什么是包 官网解释 : 包是一种通过使用'.模块名'来组织python模块名称空间的方式 , 具体来讲 , 包就是一个包含有__ init __.py文 ...
- Flask总结篇
1 Flask框架的优势? 相信做Python这一块的程序员都有听说这三个框架,就像神一样的存在,每一个框架的介绍我就不写出来了,感兴趣可以自己百度了解了解!下面我就说正事 Django:Python ...
- Mybatis @ResultMap复用@Result
@ResultMap复用@Result: 可以简写成:@ResultMap("userMap")
- fastjson框架如何处理boolean?CURRENT_TIMESTAMP使用报错?什么是 ONLINE DDL 及 pt-online-schema-change ? getBytes引起的乱码问题?
一.使用fastjson框架进行序列化时,若莫个参数为Boolean类型,而json里的值是其它类型时,框架如何处理? 1.true, false,正常赋值2.int类型,若为1,则为true,否则为 ...
- 二进制方式安装Kubernetes 1.14.2高可用详细步骤
00.组件版本和配置策略 组件版本 Kubernetes 1.14.2 Docker 18.09.6-ce Etcd 3.3.13 Flanneld 0.11.0 插件: Coredns Dashbo ...
- (转)项目迁移_.NET项目迁移到.NET Core操作指南
原文地址:https://www.cnblogs.com/heyuquan/p/dotnet-migration-to-dotnetcore.html 这篇文章,汇集了大量优秀作者写的关于" ...
- java之hibernate之helloworld
这篇文章,会一步一步的演示hibernate的使用. 目录结构如下: 1.新建java项目 2.增加一个lib文件夹,并把 hibernate必须的jar包 和 数据库驱动包 一起复制进去 然后把hi ...