下载  >  人工智能  >  机器学习  > svm的详细介绍

svm的详细介绍 评分:

对svm(支持向量机)不是太熟的同学可以看看这个文档,讲解的很详细
什么叫线性函数呢?在维空间里就是个点,在二维空间里就是条直线,二维空间里就 是一个平面,可以如此想象下去,如果不关注罕间的维数,这种线性数还有一个统一的名 称——超平面( Hyper Plane)! 实际上,一个线性函数是一个实值函数(即函数的值是连续的实数),而我们的分类问题(例 如这里的二元分类问题——回答一个样本属于还是不属于一个类别的问题)需要离散的输出 值,例如用1表示某个样本属于类别C,而用0表示不属于(不属于C1也就意味着属于 C2),这时候只需要简单的在实值函数的基础上附加一个阈值即可,通过分类函数执行时得 到的值大于还是小于这个阈值来确定类别归属。例如我们有一个线性函数 g(x)=WX+b 我们可以取阈值为0,这样当有一个样木x需要判别的时候,我们就看g(x)的值。若g(x)>0, 就判别为类别C,若g(x)<0.则判别为类别C(等于的时候我们就拒绝判断,呵呵)。此 时也等价于给函数g(x)附加一个符号函数sgn(,即fx)=sgn[g(x)是我们真正的判别函数。 关于g(×)=WX+b这个表达式要注意三点:一,式中的X不是二维坐标系中的横轴,而是样 木的向量表示,例如一个样木点的坐标是(38),则x=(3.8),而不是X-3(一般说向量都 是说列向量,因此以行向量形式来表示时,就加上转置)。二,这个形式并不局限于二维的 情况,在n维空问中仍然可以使用这个表达式,只是式中的W成为了n维向量(在维的 这个例子中,W是二维向量,为了表示起来方便简洁,以下均不区别列向量和它的转置,聪 明的读者一看便知);三,g(X)不是中间那条直线的表达式,中间那条直线的表达式是g(x)=0, 即wx+b=0.我们也把这个函数叫做分类面。 实际上很容易看出来,中间那条分界线并不是唯一的,我们把它稍微旋转一下,只要不把两 类数据分错,仍然可以达到上面说的效果,稍微平移一下,也可以。此时就牵涉到一个问题 对同一个问题存在多个分类函数的时候,哪一个函数更好呢?显然必须要先找一个指标来量 化“好"的程度,通常使用的都是叫做“分类间隔"的指烁。下一节我们就仔细说说分类间隔 也补一补相关的数学知识。 sVM入门(三)线性分类器Part2 上回说到对于文本分类这样的不适定问题(有一个以上解的问题称为不适定问题),需要有 个指标来衡量解决方案(即我们通过训练建立的分类模型)的好坏,而分类叵隔是一个比 较好的指标。 在进行文木分类的时侯,我们可以让计算机这样来看待我们提供给它的训练样木,每一个样 木由一个向量(就是那些文木特征所组成的量)和一个标记(标示出这个样本属于哪个类 别)组成。如下 D=(x,y) x就是文木向量(维数很高),y就是分类标记。 在二元的线性分类中,这个表示分类的标记只有两个值,1和-1(用来表示属于还是不属于 这个类)。有了这种表示法,我们就可以定义一个样本点到某个超平面的间隔: o-y (wX +b) 这个公式乍一看没片么神秘的,也说不出什么道理,只是个定义而已:但我们做做变换,就 能看出一些有意思的东西。 首先注意到如果某个样本属于该类别的话,那么wx+b>0(记得么?这是因为我们所选的 gx)=Wⅹ-b航通过大于0还是小于0来判断分类),而y也大于0;若不属于该类别的话, 那么w+b<0,而y也小于0,这意味着y(W+b)总是大于0的,而且它的值就等于|wx+b|! (也就是g〈X川) 现在把W和b进仨下归化,即用Ww和bw分别代替原来的w和b,那么间隔就 可以写 IgGr) 这个公式是不是看上去有点眼熟?没错,这不就是解析几何中点X到直线g(x)=0的距离公 式嘛!(推广一下,是到超平面g(x)=0的距离,g(x)=0就是上行中提到的分类超平面) 小Tps:‖硎是什么符号?‖w叫做向量w的范数,范数是对向量长度的一种度量。我们常 说的向量长度貝实指的是亡的2-范数,范数最一般的表小形武为p-范数,可以写成如下表 达式 向量W=W1,W2,W2W) E的p范数为 l吲="+m+_+ 看看把p換成2的衬惞,不就是传统的向量长度么?当我们不指明p的时候,就像‖w这样 使用时,就意味着我们不关心p的值,用几范数都可以;或者上文已经提到了p的值,为 了叙述方便不再重复指明。 当用归一化的w和b代替原值之后的间隔有一个专门的名称,叫做几何间隔,几何间隔所 表示的正是点到超平面的欧氏距离,我们下面就简称几何间隔为“距离”。以上是单个点到某 个超平面的距离(就是间隔,后面不再区别这两个词)定义,同样可以定义一个点的集合(就 是一组样木)到某个超平面的距离为此集合口离超平百最近的点的距离。下面这张图更加直 观的展示出了几何问隔的现实含义: H H 图2线性可分情况下的最优分类线 H是分类面,而H和H2是平行」H,且过离H最近的两类样本的直线,H1与H,H2与H 之间的距离就是几何间隔。 之所以如此关心几诃间陽这个东西,是因为几何间隔与样本的误分次数间存在关系 误分次数(22 其中的6是样木集合到分类面的间隔,R=max|li=1,,n,即R是所有样木中(x是以 向量表示的第i个样本)向量长度最长的值(也就是说代表样本的分布有多么广)。先不必 迫究误分次数的具休定义和推导过程,只要记得这个误分次数一定程度上代表分类器的误 差。而从上式可以看出,误分次数的上界由几何间隔决定!(当然,是样本已知的时候) 至此我们就明臼为何要选择几何间隔来作为评价一个解优劣的指标了,原来几何间隔越大的 解,它的误差上界越小。因此最人化几何间隔成了我们训练阶段的目标,而且,与二把刀作 者所写的不同,最大化分类间隔并不是SVM的专利.而是早在线性分类时期就已有的思想。 SVM入门(四)线性分类器的求解——问题的描述Part1 上节说到我们有了一个线性分类函数,也有了判断解优劣的标准——即有了优化的目标,这 个目标就是最大化几何间隔,但是看过一些关于SVM的论文的人一定记得什么优化的目标 是要最小化w这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义 叫隔:y(x+b)=9(x) lgtr) 几何间隔 可以看出=1W16a=注意到几何间隔与W是成反比的,因此最大化几何句隔与最小化|wl 完全是一回事。而我们常用的方法并不是固定w的大小而寻求最大几何间隔,而是固定间 隔、例如定为1),寻找最小的|W|l 而凡是求一个函数的最小值(或最大值)的问题都可以称为寻优问题(也叫作一个规划问题), 又由于找最大值的问题总可以通过加一个负号变为找最小值的问题,因此我们下面讨论的时 候都针对找最小值的过程来进行。一个寻优问题最重要的部分是目标函数,顾名思义,就是 指寻优的目标。例如我们想寻找最小的w这件事,就可以用下面的式子表示: 但实际上对于这个目标,我们常常使用另一个完仝等价的目标函数来代替,那就是 2 (式1 不难看出当iw达到最小时,‖w也达到最小,反之亦然(前提当然是|w描述的是向量的 长度,因而是非负的)。之所以采用这种形式,是因为后面的求解过程会对目标函数作一系 列变换,而式(1冫的形式会使变换后的形式更为简洁(正如聪明的读者所料,添加的系数 分之一和平方,皆是为求导数所需 接下来我们自然会问的就是,这个式了是否就描运了我们的问题呢?(回想一下,我们的问 题是有一堆点,可以被分成两类,我们要找出最好的分类面) 如果直接来解这个求最小值闩题,很容易看出当W=0的时侯就得到了目标函数的最小值。 但是你也会发现,无论你给什么样的数据,都是这个解!反胁在图中,就是H1与H2两条 直线间的距离无狠大,这个时候,所有的样本点无论正样本还是负样本)都跑到了H1和 H2中间,而我们原本的意图是,H1右侧的被分为正类,H2左侧的被分为负类,位于两类 中问的样本则拒绝分类(拒绝分类的另一种理解是分给哪一类都有道理,因而分给哪一类也 都没有道理)。这下可好,所有样本点都进入了无法分类的灰色地带 k分 margin=2/wll 图2线性可分情况下的最优分类线 造成这种结果的原因是在描述问题的时候只考虑了目标,而没有加入约束条件,约束条件就 是在求解过程中必须满足的条件,体现在我们的问题中就是样本点必须在H1或H2的某一 側(或者至少在H1和H2上),而不能跑到两者中间。我们前文提到过把间隔固定为1 这是指把所有样本点中间隔最小的那一点的间定为1(这也是集合的司隔的定义,有点绕 嘴),也就意味着集合中的其他点间隔都不会八于1,按照间隔的定义,满足这些条件就相 当于让下面的式子总是成立 yWx)+b]≥1(i=1,2…,)(是总的样本数) 但我们常常习惯让式子的值和0比较,因而经常用变换过的形式 yWwx)+b]-120(=1,2,)(是总的样本数 因此我们的两类分类问题也被我们转化成了它的数学形式,一个带约束的最小值的问题: subject to yI(nx-1>0〔-12--刀C是样本数 下一节我们从最一般的意义上看看一个求最小值的问题有何特征,以及如何来解 SVM入门(五)线性分类器的求解——问题的描述Part2 从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的 叫法是规划— Programming),它同样由两部分红成,目标函数和约束条件,可以用下面 的式了表示 f(r subjectto c0≤0i=12- =0jp1p2-(式1) 约束条件用函数C来表示,就是 constrain的意思啦。你可以看出一共有p+q个约束条件, 其中p个是不等式约束,q个等式约束 关于这个式予可以这样来理解:式中的ⅹ是自变虽,但不限定它的维数必须为1(视乎你解 决的问題空间维数,对我们的文本分类来说,那可是成千上万啊)。要求f(x)在哪一点上取 得最小值(反倒不太关心这个最小值到底是多少,关键是哪一点),但不是在整个空间里找, 而是在约束条件所划定的一个有限的空间里找,这个有限的空间就是优化坦论里所说的可行 域。注意可行域中的每一个点都要求满足所有p+q个条件,而不是满足其中一条或几条就 可以(切记,要满足每个约東),同时可行域边界上的点有一个额外好的特性,它们可以使 不等式束取得等号!而边界内的点不行 关于可行域还有个概念不得不提,那就是凸集,凸集是指有这么一个点的集合,其中任取两 个点连一条直线,这条线上的点仍然在这个集合内部,因此说凸”是很形象的(一个反例是, 维平面上,一个月牙形的区域就不是凸集,你随便就可以找到两个点违反了刚才的规定)。 叫头再来看我们线性分类器问题的描述,可以看出更多的东声 subjectto FI(og)+的1200-12--是样本数(式2) 在这个问题中,自变量就是W,而目标函数是W的二次函数.所有的约束条件都是W的线 性函数(吱,千万不要把X当成变量,它代表样本,是已知的),这种规划问题有个很有名 气的称呼—二次规划( Quadratic Programming,QP),而且可以吏进一步的说,由于 它的可行域是一个凸集,因此它是一个凸二次规划。 下子提了这么多术语,实在不是为了让人家以后能向别人炫耀学识的渊博,这其实是我们 继续下去的一个重要前提,因为在动手求一个问趣的解之前(好吧,我承认,是动计算机 求…),我们必须先问白己:这个问题是不是有解?如果有解,是否能找到? 对于一般意义上的规划问题,两个问题的答案都是不一定,但次规划让人喜欢的地方就 在于,它有解(教科书里面为了严谨,常常加限定成分,说它有全局最优解,由于我们想找 的本来就是全局最优的解,所以不加也罢),而且可以找到!(当然,依据你使用的算法不 同,找到这个解的速度,行话叫收敛速度,会有所不同) 对比(式2)和(式1)还可以发现,我们的线性分类器问题只有不等式约束,因此形式上 看似乎比一般意义上的规划问题要简单,但解起来却并非如此。 因为我们实际上并不知道该怎么解个带约束的优化问题。如果你仔绀回忆下高等数学的 知识,会记得我们可以轻松的解一个不带任约束的优化问题(实际上就是当年背得烂熟的 函数求极值嘛,求导再找0点呗,谁不会啊?笑),我们甚至还会解一个只带等式约束的 优化问题,也是背得烂熟的,求条件极值,记得么,通过添加拉格朗凵乘了,构造拉格朗凵 函数,来把这个问题转化为无约束的优化问题云云(如果你一时没想通,我提醒一下,构造 出的拉格朗匚函数就是转化之后的问题形式,它显然没有带任何条件) 读者问:如果以带等式约束的问题可以转化为尢约束的问题而得以求解,那么可不可以把带 不等式约束的问题向只带等式约束的问题转化一下而得以求解呢? 聪明,可以,实际上我们也正是这么做的。下节就来说说如何做这个转化,日转化完成, 求解对任何学过高等数学的人来说,都是小菜一碟啦。 SVM入门(六)线性分类器的求解一问题的转化,直观角度 让我再一次比较完整的重复一下我们要解决的闩题:我们有属于两个类别的样本点(并不限 定这些点在维空间中)若干,如图, H H margin=2/wll 图2线性可分情况下的最优分类线 圆形的样本点定为正样本(连带着,我们可以把正样本所属的类叫做正类),方形的点定为 负例。我们想求得这样一个线性函数(在n维空间中的线性函数): g(x)=WX+b 使得所有属于正类的点x代入以后有g(X)21,而所有属于负类的点x代入后有g(x)≤-1(之 以总跟1比较,无论正一还是负一,都是因为我们崮定了叵隔为1,注意间隔和几何间隔 的区别)。代入g(×)后的值如果在1和-1之间,我们就拒绝判断 求这样的g(X)的过程就是求W(个n维向量〕和b(个实数)两个参数的过程(但实际 1只需要求W,求得以后找某些样本点代入就可以求得b)。因北在求g(x)的时候,W才是 变量。 你肯定能看出来,一旦求出了W(也就求出了b),那么中间的直线H就知道了(因为它就 是wx+b=0嘛,哈哈),那么H1和H2也就知道了(因为三者是平行的,而目相隔的距离 还是w决定的):那么W是谁决定的?显然是你给的样本决定的,一旦你在空间中给出了 那些个样木点,三条直绞的位置实际⊥就唯一确定了(囚为我们求的是最优的那三条,当然 是唯一的),我们解优化问题的过程也只不过是把这个确定了的东西算出来而已。 样木确定了W,用数学的语言描述,就是W可以表小为样木的某种组合: W=CiXI+O2X2+..+CnXn 式了中的α是一个一个的数(在严格的证明过程中,这些α被称为拉格朗日乘子),而x 是样本点,因而是向量:n就是总样本点的个数。为了方便描述,以下开始严格区别数字与 向量的乘积和向量间的乘积,我会用a,x1表示数字和向量的乘积,而用<x,X2表示向量x,x2 的内积(也叫点积,注意与向量叉积的区别)。因此g(x的表达式严格的形式应该是: g(x)=<w, x>+b 但是上面的式子还不够好,你回头看看图中正烊本和负样本的位置,想像一下,我不动所有 点的位置,而只是扭其中一个正样木点定为负样木点(也就是把一个点的形状从圆形变为方 形),结果怎么样?三条直线都必须移动、因为对这三条直线的要求是必须把方形和圆形的 点止确分厂)!这说明w不仪跟样本点的位置有关,还跟样本的类别有关(也就是和样本 的“标籥”有关。因此用下面这个式了表示才算完整: W=yXx+yX+…+CyX,(式 其中的y就是第ⅰ个样本的标签,它等于1或者-1。其实以上式子的那一堆拉格朗日乘子中 只有很少的一部分不等于0(不等于0才对W起决定作用),这部分不等于0的拉格朗日 乘子后面所乘的样本点,其实都落在H1和H2上,也正是这部分样本(而不需要全部样本) 唯一的確定了分类函数,当然,吏严格的说,这些样本的一部分就可以強定,囚为例如确定 条直线,只需要两个点就可以,即便有三五个都落在上面,我们也不是全都需要。这部分 我们真正需要的样木点,航叫做攴持(撑〕向量!(名宇还挺形象吧,他们“撑起了分界线) 式子也可以用求和号简写一下: w=∑(a 因此原来的g(x)表达式可以写为 g(<<w,x>+b ≤∑(axx>tb 注意式了屮κ才是变量,也就是你要分类哪篇文档,就扭该文档的向量表示代入到ⅹ的位 置,而所有的x统统都是已知的样木。还注意到式了中有x和X是向量,因此一部分可以 从内积符号中拿出来,得到g(x)的式子为 8(x)=∑ ay<x2x>+b(式2) 发现了什么?W不见啦!从求W变成了求a。 但肯定有人会说,这并没有把原问题简化呀。嘿嘿,其实筍化了,只不过在你看不见的地方, 以这样的形式攉述问题以后,我们的优化问题少了很大一部分不等式约束(记得这是我们解 不了极值问题的万恶之源)。但是接下来先跳过线性分类器求解的部分,来看看SVM在线 性分类器上所做的重大改过——核函数。 SVM入门(七)为何需要核函数 生存?还是毁火?—哈姆雷特 可分?还是不可分?—攴持向量机 之前一直在讨论的线性分类器,器如其名汁,这是什么说法啊),只能对线性可分的样本 做处理。如果提供的样本线性不可分,结果很筒单,线性分类器的求解程序会无限循环,永 远也解不出米。这必然使得亡的适用范围大大缩小,而亡的很多优点我们实在不原意放弃, 怎么办呢?是否有某种方法,让线性不可分的数据变得线性可分呢? 有!其思想说来也简单,来用个二维平面口的类问题作例了,你看就会明白。事先声 咀,下面这个例了是网络早就有的,我一时找不到原作者的正碲信息,在此借用,并加进了 我白己的解说而已。 例了是下面这张图: 我们把橫轴上端点a和b之间红色部分里的所有点定为正类,两边的黑色部分里的点定为 负类。试问能找到一个线性函数把两类正确分开么?不能,因为二维空间里的线性函数就是 指育线,显然找不到符合条件的育线 但我们可以找到一条曲线,例如下面这一条 显然通过点在这条曲线的上方还是下方就可以判断点所属的类別你在横轴上随便找一点, 算算这“点的函数值,会发现负类的点函数值‘定比0大,而止类的定比0小)。这条 曲线就是我们熟知的二次曲线,它的函数表达式可以写为: g(x)=,+Gx+Gx 问题只是它不是一个线性函数,但是,下而要注意看了,新建一个向量y和a y=J=x a

...展开详情
2017-10-30 上传 大小:4.61MB
举报 收藏
分享
详细介绍 SVM

翻出以前研究生的时候做过一个介绍 SVM 的PPT分析,拿出来给发布赚些积分。该文档详细介绍了 SVM 的推导过程、原理以及应用。SVM 虽然有些过时,但可以作为新手入门学习的内容。PPT 没有任何版权,里面的图也是盗用别人的,拿去随便用。文档中如有任何侵权,请联系我。

立即下载
svm详解-详细介绍SVM原理、应用、并证明.

详细介绍SVM原理、应用、并证明. 目录 1 第一层:了解 SVM 4 1.1 分类标准的起源:Logistic 回归 . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 线性分类的一个例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 函数间隔 Functional margin 与几何间隔 Geometrical margin . . . . . . . 8 1.4 最大间隔分类器 Maximum Margin Classifier 的定义 . .

立即下载
svm原理,最最详细的介绍

svm基本原理,python代码实现,拉格朗日与KKT算法描述

立即下载
SVM分类回归的介绍

详细地介绍了支持向量机的原理 VC维 SVM 分类 SVM回归 等

立即下载
支持向量机svm的介绍

详细讲解了支持向量机的设计过程

立即下载
svm入门基础(特别详细的入门介绍资料)

svm入门基础,特别详细的入门介绍资料,是很好的入门指导喔。

立即下载
SVM介绍 推导 总结

SVM总结 自己总结的 包含介绍,以及详细的推导过程 清晰易懂

立即下载
SVM 应用的入门研究介绍

支持向量机的入门介绍,很详细。包括原理于应用

立即下载
SVM和Adaboost算法介绍

详细介绍了SVM和Adaboost算法,包括原理,公式,等。

立即下载
SVM支持向量机介绍

详细介绍的支持向量机的原理与应用,对于初学的人入门很有价值。

立即下载
理解svm的三层境界

详细介绍了svm的推导及各个细节的含义,适合直接上手学习svm

立即下载
基于SVM的图像分类

本文详细描述了一种基于SVM的机器学习改进方法,并且介绍了几种常用的底层特征提取方法,对LBP进行了改进。一篇不错的学位论文

立即下载
SVM参数选择的文献

SVM参数选择的详细介绍,有关核参数、参数方法的选择。

立即下载
SVM的基本原理以及有关的信息网站

详细的介绍了关于SVM的基本原理,以及有关SVM的基础知识点!包括:基本原理,libsvm,推广能力,statistic theory,从机器学习到支持向量机,支持向量机原理,算法等有用的信息。

立即下载
基于SVM的入侵检测系统

介绍一种基于svm的入侵检测系统。易懂。详细。。供论文者参考

立即下载
基于SMO的SVM分类器

很详细地介绍了SVM算法的内涵和演进过程

立即下载
SVM原理详解

SVM分类器详细介绍,可以帮助训练熟悉SVM分类器原理

立即下载
SVM相关内容

挺详细的SVM介绍,欢迎大家下载,肯定会对你有帮助~~~

立即下载
SVM原理讲解

该word文档详细介绍了SVM基本原理,并对其进行了简要分析

立即下载
html+css+js制作的一个动态的新年贺卡

该代码是http://blog.csdn.net/qq_29656961/article/details/78155792博客里面的代码,代码里面有要用到的图片资源和音乐资源。

立即下载