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来进行限制. 第一步: 前端修改 由于项目使用的是 ...
随机推荐
- jira中使用eazyBI
参考:https://docs.eazybi.com/eazybijira/set-up-and-administer/set-up-and-administer-for-jira-server/in ...
- SQL死锁情况汇总排查
select dbname,entity_name,count(1) as locks from (SELECT request_session_id AS spid, DB_NAME(resourc ...
- kmeans 对表达量进行聚类
代码如下 df = pd.read_csv("../kmeans/gene.fpkm.csv",header=None) print df.head() #去掉第一行 tdf = ...
- Dev c++编译报错
https://blog.csdn.net/qq_37521610/article/details/87640513
- Redhat7.6Linux本地的yum源配置
安装好虚拟机,配置Ip地址,见博客https://www.cnblogs.com/xuzhaoyang/p/11264573.html 我是使用的Xshell在外部链接进行的操作,比较简单,见博客ht ...
- strings包 — 汇总
转自:https://www.jb51.net/article/148388.htm strings 包中的函数和方法 // Count 计算字符串 sep 在 s 中的非重叠个数 // 如果 sep ...
- Charles4.2.8抓包(http+https)
Charles 和 Fiddler 一样都是http抓包工具. 之前用 Fiddler 抓个别 ios 手机 https 报文时总卡在哪里返不回任何数据,后来怀疑是 Fiddler 问题,就考虑使用 ...
- zipkin的安装与搭建
下载与部署 jar中yaml文件配置 启动传入并参数 web界面 目录 zipkin是分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪. 下载与部署 wget -O zipki ...
- java之初识hibernate
1. 使用jdbc进行数据库操作:获取数据库连接,编写sql语句,执行sql操作,关闭连接. 比如:每次创建连接,释放资源----使的执行效率降低: 解决方案:连接池. 编写sql语句动作----简单 ...
- NIO开发Http服务器(1):项目下载、打包和部署
最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...