第5章-支持向量机和核函数

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

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

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

资源描述

第5章支持向量机和核函数•“支持向量机方法是建立在统计学习理论的VC维理论和结构化风险最小原理基础上”•结构化风险•结构化风险=经验风险+置信风险•经验风险=分类器在给定样本上的误差•置信风险=分类器在未知样本上分类的结果的误差一般模式识别方法的问题1)传统统计方法•基于经验风险最小化,经验风险最小不等于期望风险最小,不能保证分类器的推广(泛化)能力。•经验风险只有在样本数无穷大趋近于期望风险,即在有限样本情况下,经验风险最小并不意味着期望风险最小。•需要已知样本的分布形式•推广能力是指:将学习机器(即预测函数,或称学习函数、学习模型)对未来输出进行正确预测的能力。•“过学习问题”:某些情况下,当训练误差过小反而会导致推广能力的下降。例如:对一组训练样本(x,y),x分布在实数范围内,y取值在[0,1]之间。无论这些样本是由什么模型产生的,我们总可以用y=sin(w*x)去拟合,使得训练误差为0.机器学习本质上就是一种对问题真实模型的逼近,但真实模型一定是不知道的。那么我们选择的假设与问题真实解之间究竟有多大差距,我们就没法得知。这个与问题真实解之间的误差,就叫做风险。我们选择了一个假设后,真实误差无从得知,但我们可以用某些可以掌握的量来逼近它。最直观的想法就是使用分类器在样本数据上的分类的结果与真实结果(因为样本是已经标注过的数据,是准确的数据)之间的差值来表示。这个差值叫做经验风险Remp(w)。以前的机器学习方法都把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上轻易达到100%的正确率,在真实分类时却一塌糊涂(即所谓的推广能力差,或泛化能力差)。原因:选择了一个足够复杂的分类函数,能够精确的记住每一个样本,但对样本之外的数据一律分类错误。统计学习引入了泛化误差界的概念,就是指真实风险应该由两部分内容刻画,一是经验风险,代表了分类器在给定样本上的误差;二是置信风险,代表了我们在多大程度上可以信任分类器在未知样本上分类的结果。很显然,第二部分是没有办法精确计算的,因此只能给出一个估计的区间,也使得整个误差只能计算上界,而无法计算准确的值。置信风险与两个量有关,一是样本数量,显然给定的样本数量越大,我们的学习结果越有可能正确,此时置信风险越小;二是分类函数的VC维,VC维越大,推广能力越差,置信风险会变大。2)经验非线性方法如人工神经网络(ANN)利用已知样本建立非线性模型。缺点:缺乏一种统一的数学理论统计学习理论—针对小样本统计估计和预测的最佳理论1.统计学习理论基本思想由贝尔实验室Vapnik于1992年首次提出•研究小样本下机器学习规律的理论。针对小样本统计问题,建立了一套新的理论体系基本思想:折衷考虑经验风险和推广的置信界限,取得实际期望风险的最小化。即根据有限样本信息在模型复杂性和学习能力之间寻求最佳折中两大核心概念:VC维和结构风险最小化。在这一理论基础上,发展了一种新的通用模式识别方法——支持向量机(SVM)发展迅速,已经在许多领域都取得了成功的应用。•VC维的概念:(VC是取Vapnik和Chervonenkis名字的首字而成)描述函数集或学习机器的复杂性的指标,即描述机器学习能力的重要指标•样本数量,给定的样本数量越大,学习结果越有可能正确,此时置信风险越小;分类函数的VC维,VC维越大,推广能力越差,置信风险会变大。提高样本数量,降低VC维,降低置信风险。•以前机器学习的目标是降低经验风险,要降低经验风险,就要提高分类函数的复杂度,导致VC维很高,VC维高,置信风险就高,所以,结构风险也高。----这是SVM比其他机器学习具有优势的地方VC维的引入打散:若存在一个有h个样本的样本集,被一函数集里的某个函数按照所有可能的2h种形式分为两类,则称函数集能够把样本数为h的样本集打散(shattering)。若对于任意的样本数,总能找到一个样本集能够被这个函数集打散,则函数集的VC维就是无穷大。函数集的vc维:用这个函数集中的函数所能够打散的最大样本集的样本数目。也就是说,如果存在h个样本的样本集能够被函数集打散,而不存在有h+1个样本的样本集能被函数集打散,则函数集的VC维就是h。例如:3个样本被线性分类器打散的情况有2h=23=8种分类形式能打散VC维为3不能打散VC维是目前为止对函数集学习性能的最好描述指标。但遗憾的是目前尚没有通用的关于如何计算任意函数集的VC维的理论。VC维是目前为止对函数集学习性能的最好描述指标。但遗憾的是目前尚没有通用的关于如何计算任意函数集的VC维的理论。•结构风险最小化的思想Vapnik证明,期望风险与经验风险之间的关系满足如下公式:其中n表示样本数,h为学习机器的VC维,称为置信区间。是随n/h增大而减小的函数。()()(/)empRwRwnhVC维h越大,越大,经验风险和期望风险之间的偏差越大。这样即使在经验误差很小的情况下,其推广误差会越大。(/)nh(/)nh(/)nh将函数集构造为一个函数子集序列S1S2Sk,使各个子集按照VC维的大小排列(h1h2hk)。在每个子集中寻找的最小经验风险,随子集复杂度增加而减小,在子集间折衷考虑经验风险和置信界限,取得实际风险的最小。结构风险最小化(SRM)结构风险最小就是根据函数集的性质将它划分成一系列嵌套的子集,学习问题就是选择最好的子集(根据推广能力)和在子集中选择最好的函数(根据经验风险)SVM是一种比较好地实现了结构风险最小化思想的方法•分类超平面的一些基本概念()0TgxwxbW是超平面H的法向量,决定超平面的方向;b决定超平面的位置。两类问题:g(x)表示分类面()()||||||||||||TpTTpwgxwxrb()||||gxrw2.支持向量机算法找到一个超平面,使得它能够尽可能多的将两类数据点正确的分开,同时使分开的两类数据点距离分类面最远。目标:解决方法:构造一个在约束条件下的优化问题。SVM是利用核函数将输入向量映射到一个高维特征空间,并在该空间内构造一个最优超平面来逼近分类函数。最优分类超平面的构造最终可以归结为二次寻优问题。由于SVM在解决小样本,非线性及高维模式识别问题中表现出许多特有的优势,因此受到广泛的关注。最优分类面:1)线性可分情况:对于线性可分问题,是在经验风险为零时,最小化置信范围。使两类无错误的分开,且使两类的分类空隙最大,前者是保证经验风险尽可能小,后者是使真实风险最小。SVM问题的数学表示(线性可分情况)设两类线性可分训练样本集为,11,,,,NNyyxx,y+1,-1dxR其中是类别标识。d维空间,线性判别函数的一般形式为:Tg()xb,xbw,xw=+,dbRwR存在超平面为:x0Twb使得训练样本中的正类输入和负类输入分别位于该超平面两侧。sgnx,Tiywb1,...,Ni决策面方程许多决策平面都可以将两类样本分开,应选择哪一个呢?存在参数(w,b),使得:Class1Class2目标:最优分类面满足条件:经验风险最小(错分最少)推广能力最大(空白最大)Class1Class2H2H3W’H1H•如图所示,假定划分直线的法方向已给定。直线H1是一条以w’为法向量且能正确划分两类样本的直线。如何寻找最优面?这样的直线并不唯一。如果平行推移直线H1,直到碰到某类训练点,就可得到两条极端直线H2和H3,在直线H2和H3之间的平行直线都能正确分类。显然在H2和H3中间的那条直线H为最好。以上给出了在已知法向量w’情况下构造划分直线的方法。这样就把问题归结为寻求法向量w及b。要让H满足wTx+b=0,则必须寻找最佳(w、b)判别函数归一化:''0Twxb''Twxbk''Twxbk假如H可表示为:因为H在中间,显然H2可表示为:H3可表示为:两边同除以k,令'Twwk'bbk,则H为:0TwxbH2为:1TwxbH3为:1Twxb该过程称为分类直线的规范化过程(即判别函数归一化)。此时两条直线H2和H3之间的间隔为:2w如前所述,对于适当的法向量,会有两条极端的直线,这两条直线之间有间隔。最优分类直线就应该是两直线间隔最大的那个法向量所表示的直线。分类平面应使两类之间的间隔最大。归一化后分类面方程应满足:TgxwxbTTif1()1if1()1iiiiiiygxwxbygxwxb++即:()1iiywxb+如何寻找w及b对于任意样本x有:Class1Class2m图中分类间隔为2mw()||||gxrw(利用式)SVM基本思想:就是最大化分类间隔,因此等价于最小化。2w2w221maxmin||||||||2ww即因此,求取最优平面问题就转化为优化问题。因对于所有样本1iiybw,x(1)满足式(1),且使最小的分类面就是最优分类面2w使式(1)等号成立的样本(即H2和H3上的样本)就叫支持向量。211,22在条件式(1)下,求函数的最小值。由上节可知我们的目标函数:用另一个完全等价的目标函数来代替,那就是:如果直接来解这个求最小值问题,很容易看出当||w||=0的时候就得到了目标函数的最小值。反映在图中,就是H2与H3两条直线间的距离无限大,这个时候,所有的样本点(无论正样本还是负样本)都跑到了H2和H3中间,而我们原本的意图是,H2右侧的被分为正类,H3左侧的被分为负类,位于两类中间的样本则拒绝分类。这下可好,所有样本点都进入了无法分类的灰色地带。造成这种结果的原因是在描述问题的时候只考虑了目标,而没有加入约束条件,体现在我们的问题中就是样本点必须在H2或H3的某一侧(或者至少在H2或H3上),而不能跑到两者中间。约束是什么?1iiybw,x求极值:可用拉格朗日乘子法求解引入拉格朗日乘子i0,设Lagrange函数为:11L(,,)[()1]2NTTiiiiwbwwywxb(2)使式(1)等号成立的样本(即H2和H3上的样本)就叫支持向量。211,22在条件式(1)下,求函数的最小值。,,0Lwbw1Niiiiwyx10Niiiy,,0Lwbb(2)式是一个二次优化问题,存在唯一最优解。把该式分别对w、b求偏导,并使其等于零,即:将上面两式带入(2),可得到下式:1111,2(,,)NNNiijijijiijQyyxJwbx于是,对w和b求拉个朗日函数的极小值来求解最优分类面问题,可转化为在如下约束条件下1001,...,liiiiyiN(为样本数目)N(3)对i求解下列函数的最大值1111Q2lNNTiijijijiijyyxx(4)为与约束条件对应的拉格朗日乘子。i1Tiywxb训练样本之间的内积这也是一个二次函数寻优问题,存在唯一解。解中只有支持向量对应的系数i为非零值,即:只有支持向量影响最终的划分结果。若为最优解,则i1niiiiywx支持向量任取,可求得(可用支持向量求得)。i0b由任一支持向量通过式(1)可求得b*。则最优分类函数为:1()sgnsgn,niiiifxbybw,xxx(6)式中求和实际只对支持向量进行(非支持向量对应的为0),b*是分类阈值,可用任意支持向量(满足(1)式的等号)求得,或通过两类中任意一对支持向量取中值求得。i待分样本x与支持向量xi的内积2.线性不可分情况0i111min(,),21min2NiiiiTNwCwC约束条件:10,0Tiiiiywxb(7)(8)引入松弛项,使得允许存在错分样本,对应的优化问题变为:在约束条件下,求式(7)的极小值,可得线性不可分情况下的最优分类面,称为广义最优分类面

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

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

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

×
保存成功