支持向量机通俗导论(理解SVM的三层境界)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

13-11-25支持向量机通俗导论(理解SVM的三层境界)-结构之法算法之道-博客频道-CSDN.NETblog.csdn.net/v_july_v/article/details/76248371/36结构之法算法之道分类:30.MachineL&DataMining目录(?)[+]博文代码可自动存入CODE啦了!文思海辉第一届在线编程大赛消灭0回答,赢下载分订阅CSDN社区周刊,及时了解社区精华内容办公大师系列经典丛书诚聘译者支持向量机通俗导论(理解SVM的三层境界)2012-06-0122:48133143人阅读评论(250)收藏编辑删除hypervector算法优化数据挖掘支持向量机通俗导论(理解SVM的三层境界)作者:July、pluskid;致谢:白石、JerryLead出处:结构之法算法之道blog。前言动笔写这个支持向量机(supportvectormachine)是费了不少劲和困难的,原因很简单,一者这个东西本身就并不好懂,要深入学习和研究下去需花费不少时间和精力,二者这个东西也不好讲清楚,尽管网上已经有朋友写得不错了(见文末参考链接),但在描述数学公式的时候还是显得不够。得益于同学白石的数学证明,我还是想尝试写一下,希望本文在兼顾通俗易懂的基础上,真真正正能足以成为一篇完整概括和介绍支持向量机的导论性的文章。本文在写的过程中,参考了不少资料,包括《支持向量机导论》、《统计学习方法》及网友pluskid的支持向量机系列等等,于此,还是一篇学习笔记,只是加入了自己的理解和总结,有任何不妥之处,还望海涵。全文宏观上整体认识支持向量机的概念和用处,微观上深究部分定理的来龙去脉,证明及原理细节,力求深入浅出&通俗易懂。同时,阅读本文时建议大家尽量使用chrome等浏览器,如此公式才能更好的显示,再者,阅读时可拿张纸和笔出来,把本文所有定理.公式都亲自推导一遍或者直接打印下来(可直接打印网页版,享受随时随地思考、演算的极致快感),在文稿上演算。Ok,还是那句原话,有任何问题,欢迎任何人随时不吝指正&赐教,感谢。第一层、了解SVM1.0、什么是支持向量机SVM要明白什么是SVM,便得从分类说起。分类作为数据挖掘领域中一项非常重要的任务,它的目的是学会一个分类函数或分类模型(或者叫做分类器),而支持向量机本身便是一种监督式学习的方法(至于具体什么是监督学习与非监督学习,请参见此系列MachineL&DataMining第一篇),它广泛的应用于统计分类以及回归分析中。支持向量机(SVM)是90年代中期发展起来的基于统计学习理论的一种机器学习方法,通过寻求结构化风险昀小来提高学习机泛化能力,实现经验风险和置信范围的昀小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。对于不想深究SVM原理的同学或比如就只想看看SVM是干嘛的,那么,了解到这里便足够了,不需上层。而对于那些喜欢深入研究一个东西的同学,甚至究其本质的,咱们则还有很长的一段路要走,万里长征,咱们开始迈第一步吧,相信你能走完。原创:140篇转载:0篇译文:5篇评论:11271条个人资料v_JULY_v访问:5397955次积分:28602分排名:第45名博客公告①.本blog开通于2010年10月11日,高级C++/算法交流群:128691433;北京程序员联盟:172727781。②.狂热算法,热爱数据挖掘,关注机器学习、统计分析,爱好文学数学。③.微博:@研究者July,邮箱:zhoulei97@aliyun.com,或zhoulei0907@yahoo.cn,July,二零一三年八月七日。我的微博研究者July北京朝阳区加关注加关注34分钟前转发(1)|评论(7)上午瞥了一下,格式稍有错乱,某些图片符号公式链接无法正常显示,下次请记得给出原文地址:,至少当显示出了问题时,有原文可考,谢谢。[转]:SVM研究人员必读:理解SVM的三层境界-支持向量机通俗导论文章分类03.Algorithms(实现)(9)01.Algorithms(研究)(27)02.Algorithms(后续)(22)04.Algorithms(讨论)(1)05.MS100'original(7)06.MS100'answers(13)07.MS100'classify(4)Google或baidu搜索:“结构之法”,进入本博客目录视图摘要视图订阅管理博客写新文章v_JULY_v我的:收件箱(5)资源博客空间设置|帮助|退出首页业界移动云计算研发论坛博客下载更多您有21条新通知13-11-25支持向量机通俗导论(理解SVM的三层境界)-结构之法算法之道-博客频道-CSDN.NETblog.csdn.net/v_july_v/article/details/76248372/361.1、线性分类OK,在讲SVM之前,咱们必须先弄清楚一个概念:线性分类器(也可以叫做感知机,这里的机表示的是一种算法,本文第三部分、证明SVM中会详细阐述)。1.1.1、分类标准这里我们考虑的是一个两类的分类问题,数据点用来表示,这是一个维向量,w^T中的T代表转置,而类别用来表示,可以取1或者-1,分别代表两个不同的类。一个线性分类器就是要在维的数据空间中找到一个超平面,其方程可以表示为:上面给出了线性分类的定义描述,但或许读者没有想过:为何用y取1或者-1来表示两个不同的类别呢?其实,这个1或-1的分类标准起源于logistic回归,为了完整和过渡的自然性,咱们就再来看看这个logistic回归。1.1.2、1或-1分类标准的起源:logistic回归Logistic回归目的是从特征学习出一个0/1分类模型,而这个模型是将特性的线性组合作为自变量,由于自变量的取值范围是负无穷到正无穷。因此,使用logistic函数(或称作sigmoid函数)将自变量映射到(0,1)上,映射后的值被认为是属于y=1的概率。形式化表示就是假设函数其中x是n维特征向量,函数g就是logistic函数。而的图像是可以看到,将无穷映射到了(0,1)。而假设函数就是特征属于y=1的概率。当我们要判别一个新来的特征属于哪个类时,只需求,若大于0.5就是y=1的类,反之属于y=0类。再审视一下,发现只和有关,0,那么,g(z)只不过是用来映射,真实的类别决定权还在。还有当时,=1,反之=0。如果我们只从出发,希望模型达到的目标无非就是让训练数据中y=1的特征,而是y=0的特征。Logistic回归就是要学习得到,使得正例的特征远大于0,负例的特征远小于0,强调在全部训练实例上达到这个目标。1.1.3、形式化标示我们这次使用的结果标签是y=-1,y=1,替换在logistic回归中使用的y=0和y=1。同时将替换成w和b。以前的,其中认为。现在我们替换为b,后面替换为(即)。这样,我们让,进一步。也就是说除了y由y=0变为y=-1,只是标记不同外,与logistic回归的形式化表示没区别。再明确下假设函数上面提到过我们只需考虑的正负问题,而不用关心g(z),因此我们这里将g(z)做一个简化,将其简单映射到(249356)(205613)(185584)(161921)(146780)(133063)(128746)(102545)(101295)(93441)(431)(371)(342)(322)08.MS100'oneKeys(6)09.MS100'follow-up(4)10.MS100'comments(4)11.TAOPP(编程艺术)(30)12.TAOPPstring(8)13.TAOPParray(12)14.TAOPPlist(2)15.stack/heap/queue(0)16.TAOPPtree(1)17.TAOPPc/c++(2)18.TAOPPfunction(2)19.TAOPPalgorithms(8)20.numberoperations(1)21.Essays(8)22.BigDataProcessing(5)23.Redis/MongoDB(0)24.datastructures(12)25.Red-blacktree(7)26.ImageProcessing(3)27.Architecturedesign(4)28.Sourceanalysis(3)29.Recommend&Search(4)30.MachineL&DataMining(5)博客专栏数据挖掘十大算法系列文章:5篇阅读:334580微软面试100题系列文章:18篇阅读:1629362程序员编程艺术文章:28篇阅读:1169557经典算法研究文章:32篇阅读:1401832文章搜索阅读排行程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦教你如何迅速秒杀掉:99%的海量数据处理面试题九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)从B树、B+树、B*树谈到R树横空出世,席卷互联网--评微软等公司数据结构+算法面试100题支持向量机通俗导论(理解SVM的三层境界)十道海量数据处理面试题与十个方法大总结十一、从头到尾彻底解析Hash表算法九月腾讯,创新工场,淘宝等公司最新面试三十题(第171-200题)微软公司等数据结构+算法面试100题(第1-100题)全部出炉评论排行程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)九月腾讯,创新工场,淘宝等公司最新面试三十题(第171-200题)当今世界最为经典的十大算法--投票进行时xnyn13-11-25支持向量机通俗导论(理解SVM的三层境界)-结构之法算法之道-博客频道-CSDN.NETblog.csdn.net/v_july_v/article/details/76248373/36y=-1和y=1上。映射关系如下:于此,想必已经解释明白了为何线性分类的标准一般用1或者-1来标示。注:上小节来自jerrylead所作的斯坦福机器学习课程的笔记。1.2、线性分类的一个例子下面举个简单的例子,一个二维平面(一个超平面,在二维空间中的例子就是一条直线),如下图所示,平面上有两种不同的点,分别用两种不同的颜色表示,一种为红颜色的点,另一种则为蓝颜色的点,红颜色的线表示一个可行的超平面。从上图中我们可以看出,这条红颜色的线把红颜色的点和蓝颜色的点分开来了。而这条红颜色的线就是我们上面所说的超平面,也就是说,这个所谓的超平面的的确确便把这两种不同颜色的数据点分隔开来,在超平面一边的数据点所对应的全是-1,而在另一边全是1。接着,我们可以令分类函数(提醒:下文很大篇幅都在讨论着这个分类函数):显然,如果,那么是位于超平面上的点。我们不妨要求对于所有满足的点,其对应的等于-1,而则对应的数据点。注:上图中,定义特征到结果的输出函数,与我们之前定义的实质是一样的。(有一朋友飞狗来自Mare_Desiderii,看了上面的定义之后,问道:请教一下SVMfunctionalmargin为=y(wTx+b)=yf(x)中的Y是只取1和-1吗?y的唯一作用就是确保functionalmargin的非负性?真是这样的么?当然不是,详情请见本文评论下第43楼)当然,有些时候,或者说大部分时候数据并不是线性可分的,这个时候满足这样条件的超平面就根本不存在(不过关于如何处理这样的问题我们后面会讲),这里先从昀简单的情形开始推导,就假设数据都是线性可分的,亦即这样的超平面是存在的。更进一步,我们在进行分类的时候,将数据点代入中,如果得到的结果小于0,则赋予其类别-1,如果大于0则赋予类别1。如果,则很难办了,分到哪一类都不是。请读者注意,下面的篇幅将按下述3点走:(293)(273)(250)(246)(233)(218)从B树、B+树、B*树谈到R树横空出世,席卷互联网--评微软等公司数据结构+算法面试100题支

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功