SVM支持向量机Word文件下载.docx
- 文档编号:14589657
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:16
- 大小:247.80KB
SVM支持向量机Word文件下载.docx
《SVM支持向量机Word文件下载.docx》由会员分享,可在线阅读,更多相关《SVM支持向量机Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
机器学习本质上就是对问题真实模型的逼近(我们选择一个我们认为比较好的近似模型作为假设),而真实模型是未知的。
假设与问题真实解之间的误差,叫做风险(更严格的说,误差的累积叫做风险)。
我们选择了一个假设(即分类器)之后,我们可以用某些可以掌握的量来逼近误差,最直观的方法就是使用分类器在样本数据上的分类的结果与真实结果(样本是已标注过的数据,即准确的数据)之间的差值来表示。
这个差值叫做经验风险Remp(w)。
以前的机器学习方法都把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上很轻易的达到100%的正确率,在应用于真实分类时却一塌糊涂(即推广能力差,或称泛化能力差)。
此时需要选择了一个足够复杂的分类函数(它的VC维很高),精确的记住每一个样本,但对样本之外的数据一律分类错误。
基于经验风险最小化原则我们就会发现,该原则适用的大前提是经验风险要能够逼近真实风险才行,但实际上是不能逼近的,因为样本数相对于现实应用要分类的文本数来说太少,经验风险最小化原则只能在占很小比例的样本上做到没有误差,不能保证在更大比例的真实文本上也没有误差。
统计学习从而引入泛化误差界的概念,即真实风险应该由经验风险,代表了分类器在给定样本上的误差,以及置信风险,代表了我们能在多大程度上信任分类器在未知文本上分类的结果。
置信风险是无法精确计算的,只能给出一个估计的区间,使得整个误差只能计算上界,而无法计算准确值。
置信风险与两个量有关,一是样本数量,显然给定的样本数量越大,我们的学习结果越有可能正确,此时置信风险越小;
二是分类函数的VC维,显然VC维越大,推广能力越差,置信风险会变大。
泛化误差界的公式为:
R(w)≤Remp(w)+Ф(n/h)
公式中R(w)就是真实风险,Remp(w)就是经验风险,Ф(n/h)就是置信风险。
统计学习的目标从经验风险最小化变为了结构风险最小,即经验风险与置信风险的和最小。
SVM正是这样一种基于结构风险最小化的算法。
SVM的其他特点:
小样本,这里的小样本是相对的,对于算法来说,更多的样本几乎总是能带来更好的效果,与问题的复杂度相比,SVM算法要求的样本数是比较少的。
非线性,SVM擅长应对样本数据线性不可分的情况,通过松弛变量(惩罚变量)!
和核函数!
来实现。
高维模式识别是指样本维数很高,例如文本的向量表示,如果没有经过降维处理,出现几万维的情况很正常,其他算法基本无法处理。
而SVM产生的分类器很简洁,用到的样本信息很少(仅用到那些称之为“支持向量”的样本),在样本维数很高的情况下,也不会给存储和计算造成困扰,可以适用于样本维数很高的情况。
(例如:
KNN算法在分类时要用到所有样本,样本数巨大,若每个样本维数高的话,基本无法应对)。
二、线性分类器
线性分类器(感知机)是简单且有效的分类器形式.在一个线性分类器中,可以了解SVM形成的思路和SVM的核心概念。
例1:
如图,一个二维空间里仅有两类样本
C1和C2是要区分的两个类别,中间的直线就是一个分类函数,它可以将两类样本完全分开。
一般,若一个线性函数能够将样本完全分开,称这些数据是线性可分的,否则称为非线性可分。
线性函数:
在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,即n维空间中的(n-1)维组件,若不考虑空间维数,这种线性函数也称超平面(HyperPlane)。
实际上,线性函数是实值函数(即函数的值是连续的实数),而分类问题(例如这里的二元分类问题—判断样本属于还是不属于一个类别的问题)需要离散的输出值,例如用1表示某个样本属于类别C1,而用-1表示属于C2,这时候只需要简单的在实值函数的基础上附加一个阈值即可,通过分类函数执行时得到的值大于还是小于这个阈值来确定类别归属。
例如:
有一个线性函数g(x)=wx+b,可以取阈值为0,当有一个样本xi需要判别时,若g(xi)>
0,就判别为类别C1,若g(xi)<
0,则判别为类别C2(等于时拒绝判断)。
此时等价于给函数g(x)附加一个符号函数sgn(),即f(x)=sgn[g(x)]是真正的判别函数。
关于g(x)=wx+b要注意三点:
一,式中的x不是二维坐标系中的横轴,而是样本的向量表示,例如一个样本点的坐标是(3,8),则xT=(3,8),而不是x=3。
二,形式并不局限于二维,在n维空间中仍可以使用这个表达式,只是式中的w为n维向量(在二维的这个例子中,w是二维向量,为表示方便,以下不区别列向量和它的转置);
三,g(x)不是中间那条直线的表达式,中间那条直线的表达式是g(x)=0,即wx+b=0,这个函数叫做分类面。
中间那条分界线并不是唯一的,若稍微旋转一下,只要不把两类数据分错,仍然可以达到上面的效果,稍微平移一下,也可以。
此时需考虑,对同一个问题存在多个分类函数的时候,哪一个函数更好,此时需要“分类间隔”指标。
三、分类间隔指标
分类间隔模型可以判断通过训练建立的分类模型的好坏。
在进行文本分类时,可以让计算机将每一个样本看作一个向量(即文本特征组成的向量)和一个标记(标示此样本属于哪个类别)的组合。
如Di=(xi,yi)中,xi是文本向量(维数很高),yi是分类标记。
在二元线性分类中,这个表示分类的标记只有两个值,1和-1(表示属于或不属于这个类)。
有了这种表示法,我们就可以定义一个样本点到某个超平面的间隔:
δi=yi(wxi+b)若某个样本属于该类别,wxi+b>
0,而yi也大于0;
若不属于该类别,wxi+b<
0,yi也小于0,这意味着yi(wxi+b)总是大于0的,而且它的值就等于|wxi+b(即|g(xi)|)。
将w和b进行归一化,即用w/||w||和b/||w||分别代替原来的w和b,那么间隔就可以写成
解析几何中点xi到直线g(x)=0的距离公式经推广,表示到超平面g(x)=0的距离,g(x)=0就是第二节中提到的分类超平面。
||w||叫做向量w的范数,范数是对向量长度的一种度量。
常用的向量长度指的是它的2-范数,范数最一般的表示形式为p-范数,即向量w=(w1,w2,w3,……wn)的p-范数为:
当p=2的时,就是传统的向量长度。
当不指明p时,使用||w||,即不关心p的值;
或已指明p的值。
当用归一化的w和b代替原值后的间隔叫做几何间隔,表示的是点到超平面的欧氏距离,简称“距离”。
以上是单个点到某个超平面的距离,同样可以定义一个点的集合(即一组样本)到某个超平面的距离为此集合中离超平面最近的点的距离。
如图所示:
H是分类面,H1和H2平行于H,且是过离H最近的两类样本的直线,H1与H,H2与H之间的距离就是几何间隔。
几何间隔与样本的误分次数间存在如下关系:
δ是样本集合到分类面的间隔,R=max||xi||
i=1,...,n,即R是所有样本中(xi是以向量表示的第i个样本)向量长度最长的值(代表样本的分布广度)。
这个误分次数一定程度上代表分类器的误差。
由上式可知,样本已知时,误分次数的上界由几何间隔决定。
几何间隔越大,误差上界越小。
最大化几何间隔是训练阶段的目标。
间隔:
δ=y(wx+b)=|g(x)|
几何间隔:
即δ=||w||δ几何。
几何间隔与||w||成反比,因此最大化几何间隔与最小化||w||是一回事。
一般固定间隔(例如1),寻找最小的||w||。
凡是求一个函数的最小值(或最大值)的问题都可以称为寻优问题(规划问题),找最大值的问题可以通过加一个负号变为找最小值的问题,因此我们下面讨论的时针对找最小值的过程来进行。
目标函数为:
,为方便后期进行求导等处理,等价于,易看出当||w||=0时目标函数的值最小。
反映在图中,就是H1与H2两条直线间的距离无限大,这时,所有样本点(无论正样本还是负样本)都跑到了H1和H2中间,而操作时,H1右侧的点被分为正类,H2左侧的点被分为负类,位于两类中间的样本则拒绝分类。
这时,所有样本点都进入了无法分类的灰色地带。
造成这种结果的原因是在描述问题时只考虑了目标,而未加入约束条件,约束条件就是在求解过程中必须满足的条件,体现在问题中的某些样本点必须在H1或H2的某一侧(或至少在H1和H2上),而不能跑到两者中间。
前文提到把间隔固定为1,这是指把所有样本点中间隔最小的那一点的间隔定为1(这也是集合的间隔的定义),也就意味着集合中的其他点的间隔都不会小于1,按照间隔的定义,满足这些条件就相当于下面的式子总是成立的:
yi[(w·
xi)+b]≥1(i=1,2,…,l)(l是总的样本数)
等价于yi[(w·
xi)+b]-1≥0(i=1,2,…,l)(l是总的样本数)
因此两类分类问题转化成了它的数学形式,即带约束的最小值问题:
求最小值的问题就是优化问题(寻优问题或规划—Programming),同样由目标函数和约束条件组成:
(式1)
约束条件用函数c(constrain)来表示。
这里有有p+q个约束条件(其中p个不等式约束,q个等式约束)。
式中的x是自变量,但不限定它的维数必须为1。
要求f(x)在哪一点上取得最小值,不是在整个空间里找,而是在约束条件所划定的一个有限的空间里找,这个有限的空间就是优化理论里所说的可行域。
注意可行域中的每一个点都要求满足所有p+q个条件,同时可行域边界上可以使不等式约束取得等号。
对SVM来说,边界上的点唯一的决定了分类超平面,这些点就被称为支持向量。
(凸集是指有一个点的集合,其中任取两个点连一条直线,这条线上的点仍然在这个集合内部,因此说“凸”是很形象的)
自变量是w,而目标函数是w的二次函数,所有的约束条件都是w的线性函数,即二次规划(QuadraticProgramming,QP)问题,由于它的可行域是一个凸集,因此它是一个凸二次规划。
凸二次规划是有全局最优解的,依据算法的不同,找到这个解的速度即收敛速度会有所不同。
该线性分类器问题只有不等式约束。
高数中有函数求极值,即求导再找零点;
求条件极值,只带等式约束的优化问题,通过添加拉格朗日乘子,构造拉格朗日函数,把这个问题转化为无约束的优化问题。
考虑将带不等式约束的问题向只带等式约束的问题转化。
四、线性分类器的求解
圆形的样本点定为正样本(可将正样本所属的类叫做正类),方形的点定为负类。
w=α1x1+α2x2+…+αnxn
式子中的αi是一个一个的数(在严格的证明过程中,这些α被称为拉格朗日乘子),而xi是样本点,因而是向量,n就是总样本点的个数。
为描述方便,以下开始严格区别数字与向量的乘积和向量间的乘积,用α1x1表示数字和向量的乘积,而用<
x1,x2>
表示向量x1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVM 支持 向量