2022年SVM算法知识入门【详解】 .pdf
《2022年SVM算法知识入门【详解】 .pdf》由会员分享,可在线阅读,更多相关《2022年SVM算法知识入门【详解】 .pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SVM 算法知识入门【详解】本文转载自网络(一) SVM 的简介支持向量机 (Support Vector Machine) 是 Cortes 和 Vapnik 于 1995 年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中10。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力14(或称泛化能力)。以上是经常被有关SVM 的学术文献引用的
2、介绍,我来逐一分解并解释一下。Vapnik 是统计机器学习的大牛,这想必都不用说,他出版的Statistical Learning Theory是一本完整阐述统计机器学习思想的名著。在该书中详细的论证了统计机器学习之所以区别于传统机器学习的本质,就在于统计机器学习能够精确的给出学习效果,能够解答需要的样本数等等一系列问题。与统计机器学习的精密思维相比,传统的机器学习基本上属于摸着石头过河,用传统的机器学习方法构造分类系统完全成了一种技巧,一个人做的结果可能很好,另一个人差不多的方法做出来却很差,缺乏指导和原则。所谓 VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高, 一个
3、问题就越复杂。正是因为SVM 关注的是 VC 维,后面我们可以看到,SVM解决问题的时候,和样本的维数是无关的(甚至样本是上万维的都可以,这使得SVM 很适合用来解决文本分类的问题,当然,有这样的能力也因为引入了核函数)。结构风险最小听上去文绉绉,其实说的也无非是下面这回事。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 33 页 - - - - - - - - - - 机器学习本质上就是一种对问题真实模型的逼近(我们选择一个我们认为比较好的近似模型,这个近似模型就叫做一个假设),但毫无疑问,
4、真实模型一定是不知道的(如果知道了,我们干吗还要机器学习?直接用真实模型解决问题不就可以了?对吧,哈哈) 既然真实模型不知道, 那么我们选择的假设与问题真实解之间究竟有多大差距,我们就没法得知。比如说我们认为宇宙诞生于150 亿年前的一场大爆炸,这个假设能够描述很多我们观察到的现象,但它与真实的宇宙模型之间还相差多少?谁也说不清,因为我们压根就不知道真实的宇宙模型到底是什么。这个与问题真实解之间的误差,就叫做风险(更严格的说,误差的累积叫做风险)。我们选择了一个假设之后(更直观点说,我们得到了一个分类器以后),真实误差无从得知,但我们可以用某些可以掌握的量来逼近它。最直观的想法就是使用分类器在
5、样本数据上的分类的结果与真实结果 (因为样本是已经标注过的数据,是准确的数据) 之间的差值来表示。这个差值叫做经验风险Remp(w)。以前的机器学习方法都把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上轻易达到100%的正确率,在真实分类时却一塌糊涂(即所谓的推广能力差,或泛化能力差)。此时的情况便是选择了一个足够复杂的分类函数(它的 VC维很高),能够精确的记住每一个样本,但对样本之外的数据一律分类错误。回头看看经验风险最小化原则我们就会发现,此原则适用的大前提是经验风险要确实能够逼近真实风险才行(行话叫一致),但实际上能逼近么?答案是不能,因为样本数相对于现实世界要分类
6、的文本数来说简直九牛一毛,经验风险最小化原则只在这占很小比例的样本上做到没有误差,当然不能保证在更大比例的真实文本上也没有误差。统计学习因此而引入了泛化误差界的概念,就是指真实风险应该由两部分内容刻画,一是经验风险, 代表了分类器在给定样本上的误差;二是置信风险, 代表了我们在多大程度上可以信任分类器在未知文本上分类的结果。很显然, 第二部分是没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值(所以叫做泛化误差界,而不叫泛化误差)。置信风险与两个量有关,一是样本数量, 显然给定的样本数量越大,我们的学习结果越有可能正确,此时置信风险越小;二是分类函数
7、的VC维,显然VC维越大,推广能力越差,置信风险会变大。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 33 页 - - - - - - - - - - 泛化误差界的公式为:R(w) Remp(w)+ (n/h)公式中 R(w)就是真实风险,Remp(w)就是经验风险,(n/h)就是置信风险。统计学习的目标从经验风险最小化变为了寻求经验风险与置信风险的和最小,即结构风险最小。SVM 正是这样一种努力最小化结构风险的算法。SVM 其他的特点就比较容易理解了。小样本,并不是说样本的绝对数量少(实际
8、上,对任何算法来说,更多的样本几乎总是能带来更好的效果) ,而是说与问题的复杂度比起来,SVM 算法要求的样本数是相对比较少的。非线性,是指SVM 擅长应付样本数据线性不可分的情况,主要通过松弛变量(也有人叫惩罚变量)和核函数技术来实现,这一部分是SVM 的精髓,以后会详细讨论。多说一句,关于文本分类这个问题究竟是不是线性可分的,尚没有定论, 因此不能简单的认为它是线性可分的而作简化处理,在水落石出之前,只好先当它是线性不可分的(反正线性可分也不过是线性不可分的一种特例而已,我们向来不怕方法过于通用)。高维模式识别是指样本维数很高,例如文本的向量表示,如果没有经过另一系列文章(文本分类入门 )
9、中提到过的降维处理,出现几万维的情况很正常,其他算法基本就没有能力应付了, SVM却可以,主要是因为SVM 产生的分类器很简洁,用到的样本信息很少(仅仅用到那些称之为“ 支持向量 ” 的样本,此为后话) ,使得即使样本维数很高,也不会给存储和计算带来大麻烦 (相对照而言,kNN 算法在分类时就要用到所有样本,样本数巨大,每个样本维数再一高,这日子就没法过了 ) 。下一节开始正式讨论SVM。别嫌我说得太详细哦。SVM 入门(二)线性分类器Part 1精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共
10、 33 页 - - - - - - - - - - 线性分类器 (一定意义上 ,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中 ,可以看到SVM形成的思路 ,并接触很多 SVM 的核心概念 .用一个二维空间里仅有两类样本的分类问题来举个小例子。如图所示C1和 C2是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数, 它可以将两类样本完全分开。一般的, 如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面, 可以如此想
11、象下去,如果不关注空间的维数,这种线性函数还有一个统一的名称超平面( Hyper Plane) !实际上, 一个线性函数是一个实值函数(即函数的值是连续的实数), 而我们的分类问题 (例如这里的二元分类问题回答一个样本属于还是不属于一个类别的问题)需要离散的输出值,例如用1 表示某个样本属于类别C1,而用 0 表示不属于(不属于C1也就意味着属于C2) ,这时候只需要简单的在实值函数的基础上附加一个阈值即可,通过分类函数执行时得到的值大于还是小于这个阈值来确定类别归属。例如我们有一个线性函数g(x)=wx+b【看到好多人都在问g(x)=0 和 g(x)的问题,我在这里帮楼主补充一下:g(x)实
12、际是以 w 为法向量的一簇超平面,在二维空间表示为一簇直线(就是一簇平行线,他们的法向量都是w) ,而 g(x)=0 只是这么多平行线中的一条。】精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 33 页 - - - - - - - - - - 我们可以取阈值为0, 这样当有一个样本xi 需要判别的时候, 我们就看g(xi)的值。若 g(xi)0,就判别为类别C1,若 g(xi)0(记得么?这是因为我们所选的g(x)=wx+b 就通过大于0 还是小于0 来判断分类),而 yi 也大于 0;若不属
13、于该类别的话,那么 wxi+b0,而 yi 也小于 0,这意味着yi(wxi+b)总是大于0 的,而且它的值就等于|wxi+b| !(也就是 |g(xi)| )现在把 w 和 b 进行一下归一化,即用 w/|w|和 b/|w|分别代替原来的w 和 b,那么间隔就可以写成【点到直线的距离,做解析几何中为:D = (Ax + By + c) /sqrt(A2+B2)sqrt(A2+B2) 就相当于 |W|, 其中向量 W=A, B;(Ax + By + c) 就相当于 g(X), 其中向量 X=x,y。 】这个公式是不是看上去有点眼熟?没错,这不就是解析几何中点xi 到直线 g(x)=0 的距离公
14、式嘛!(推广一下,是到超平面g(x)=0 的距离,g(x)=0 就是上节中提到的分类超平面)小 Tips:|w|是什么符号? |w|叫做向量 w 的范数,范数是对向量长度的一种度量。我们常说的向量长度其实指的是它的2-范数,范数最一般的表示形式为p-范数,可以写成如下表达式精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 33 页 - - - - - - - - - - 向量 w=(w1, w2, w3, wn)它的 p-范数为看看把 p 换成 2 的时候,不就是传统的向量长度么?当我们不指明p
15、 的时候,就像 |w|这样使用时, 就意味着我们不关心p 的值, 用几范数都可以;或者上文已经提到了p 的值, 为了叙述方便不再重复指明。当用归一化的w 和 b 代替原值之后的间隔有一个专门的名称,叫做几何间隔,几何间隔所表示的正是点到超平面的欧氏距离,我们下面就简称几何间隔为“ 距离 ” 。以上是单个点到某个超平面的距离 (就是间隔, 后面不再区别这两个词)定义,同样可以定义一个点的集合(就是一组样本) 到某个超平面的距离为此集合中离超平面最近的点的距离。下面这张图更加直观的展示出了几何间隔的现实含义:H 是分类面,而H1 和 H2 是平行于 H,且过离 H 最近的两类样本的直线,H1 与
16、H,H2 与 H之间的距离就是几何间隔。之所以如此关心几何间隔这个东西,是因为几何间隔与样本的误分次数间存在关系:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 33 页 - - - - - - - - - - 其中的 是样本集合到分类面的间隔,R=max |xi|i=1,.,n,即 R是所有样本中(xi 是以向量表示的第i 个样本)向量长度最长的值(也就是说代表样本的分布有多么广)。先不必追究误分次数的具体定义和推导过程,只要记得这个误分次数一定程度上代表分类器的误差。而从上式可以看出,误分
17、次数的上界由几何间隔决定!(当然,是样本已知的时候)至此我们就明白为何要选择几何间隔来作为评价一个解优劣的指标了,原来几何间隔越大的解,它的误差上界越小。因此最大化几何间隔成了我们训练阶段的目标,而且,与二把刀作者所写的不同, 最大化分类间隔并不是SVM的专利,而是早在线性分类时期就已有的思想。SVM 入门(四)线性分类器的求解问题的描述Part1上节说到我们有了一个线性分类函数,也有了判断解优劣的标准即有了优化的目标,这个目标就是最大化几何间隔,但是看过一些关于SVM的论文的人一定记得什么优化的目标是要最小化 |w|这样的说法,这是怎么回事呢?回头再看看我们对间隔和几何间隔的定义:间隔: =
18、y(wx+b)=|g(x)|几何间隔:可以看出 =|w| 几何。注意到几何间隔与|w|是成反比的,因此最大化几何间隔与最小化 |w|完全是一回事。而我们常用的方法并不是固定|w|的大小而寻求最大几何间隔,而是固定间隔(例如固定为1) ,寻找最小的 |w|。而凡是求一个函数的最小值(或最大值)的问题都可以称为寻优问题(也叫作一个规划问题),又由于找最大值的问题总可以通过加一个负号变为找最小值的问题,因此我们下面讨论的时候都针对找最小值的过程来进行。一个寻优问题最重要的部分是目标函数,顾名思义, 就是指寻优的目标。例如我们想寻找最小的|w|这件事,就可以用下面的式子表示:精品资料 - - - 欢迎
19、下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 33 页 - - - - - - - - - - 但实际上对于这个目标,我们常常使用另一个完全等价的目标函数来代替,那就是:(式 1)不难看出当 |w|2达到最小时, |w|也达到最小,反之亦然(前提当然是|w|描述的是向量的长度,因而是非负的)。之所以采用这种形式,是因为后面的求解过程会对目标函数作一系列变换,而式(1)的形式会使变换后的形式更为简洁(正如聪明的读者所料,添加的系数二分之一和平方,皆是为求导数所需)。接下来我们自然会问的就是,这个式子是否就描述了我们的问
20、题呢?(回想一下, 我们的问题是有一堆点,可以被分成两类,我们要找出最好的分类面)如果直接来解这个求最小值问题,很容易看出当 |w|=0的时候就得到了目标函数的最小值。但是你也会发现,无论你给什么样的数据,都是这个解!反映在图中,就是H1 与 H2 两条直线间的距离无限大,这个时候,所有的样本点(无论正样本还是负样本)都跑到了H1 和H2 中间,而我们原本的意图是,H1 右侧的被分为正类,H2 左侧的被分为负类,位于两类中间的样本则拒绝分类(拒绝分类的另一种理解是分给哪一类都有道理,因而分给哪一类也都没有道理) 。这下可好,所有样本点都进入了无法分类的灰色地带。精品资料 - - - 欢迎下载
21、- - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 33 页 - - - - - - - - - - 造成这种结果的原因是在描述问题的时候只考虑了目标,而没有加入约束条件,约束条件就是在求解过程中必须满足的条件,体现在我们的问题中就是样本点必须在H1 或 H2 的某一侧(或者至少在H1 和 H2 上) ,而不能跑到两者中间。我们前文提到过把间隔固定为1,这是指把所有样本点中间隔最小的那一点的间隔定为1 (这也是集合的间隔的定义,有点绕嘴),也就意味着集合中的其他点间隔都不会小于1,按照间隔的定义,满足这些条件就相当于让下面的式子
22、总是成立:yi(wxi)+b1 (i=1,2, ,l) (l 是总的样本数)但我们常常习惯让式子的值和0 比较,因而经常用变换过的形式:yi(wxi)+b-10 (i=1,2,l) (l 是总的样本数)因此我们的两类分类问题也被我们转化成了它的数学形式,一个带约束的最小值的问题:下一节我们从最一般的意义上看看一个求最小值的问题有何特征,以及如何来解。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 33 页 - - - - - - - - - - SVM 入门(五)线性分类器的求解问题的描述P
23、art2从最一般的定义上说,一个求最小值的问题就是一个优化问题(也叫寻优问题,更文绉绉的叫法是规划 Programming) ,它同样由两部分组成,目标函数和约束条件,可以用下面的式子表示:(式 1)约束条件用函数c来表示,就是constrain 的意思啦。你可以看出一共有p+q 个约束条件,其中 p 个是不等式约束,q 个等式约束。关于这个式子可以这样来理解:式中的x 是自变量,但不限定它的维数必须为1(视乎你解决的问题空间维数,对我们的文本分类来说,那可是成千上万啊)。要求 f(x)在哪一点上取得最小值 (反倒不太关心这个最小值到底是多少,关键是哪一点) , 但不是在整个空间里找,而是在约
24、束条件所划定的一个有限的空间里找,这个有限的空间就是优化理论里所说的可行域。注意可行域中的每一个点都要求满足所有p+q 个条件, 而不是满足其中一条或几条就可以(切记,要满足每个约束),同时可行域边界上的点有一个额外好的特性,它们可以使不等式约束取得等号!而边界内的点不行。关于可行域还有个概念不得不提,那就是凸集, 凸集是指有这么一个点的集合,其中任取两个点连一条直线, 这条线上的点仍然在这个集合内部,因此说 “ 凸” 是很形象的 (一个反例是,二维平面上, 一个月牙形的区域就不是凸集,你随便就可以找到两个点违反了刚才的规定)。回头再来看我们线性分类器问题的描述,可以看出更多的东西。(式 2)
25、在这个问题中,自变量就是w,而目标函数是w 的二次函数,所有的约束条件都是w 的线性函数(哎,千万不要把xi 当成变量,它代表样本,是已知的),这种规划问题有个很有名精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 33 页 - - - - - - - - - - 气的称呼 二次规划( Quadratic Programming ,QP) ,而且可以更进一步的说,由于它的可行域是一个凸集,因此它是一个凸二次规划。一下子提了这么多术语,实在不是为了让大家以后能向别人炫耀学识的渊博,这其实是我们继
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详解 2022年SVM算法知识入门【详解】 2022 SVM 算法 知识 入门
限制150内