机器学习之路(七)支持向量机

1.理论基础

(1)经验风险最小化

       在统计学中,总体可以认为是一个概率分布。由于了解总体真实分布是极其困难的,因此只能从总体中随机地抽取若干具有代表性的对象,即样本。样本可以认为是总体的若干个观测值,在数学上是可以计算出这些样本的分布,作为总体的近似模型。我们认为选出的样本分布一定程度上和总体分布是相同的,但是事实上仍有差异。当我们从训练集得到一个分类器后,分类器以经验模型的分布作为总体分布,因此误差就成为经验风险。

对于离散样本的经验函数可以写为:

       其中就是经验风险,是用来最小化分先的目标函数,是损失函数,代表对于每个实例x,标签和预测结果之间的偏差。用最小   化经验风险表示真实风险,就是我们说的经验最小原则,简称ERM。

(2)关键定理与VC维

      学习一致性:解决经验风险与真实风险的衡量问题。从这个角度来说,只有在符合样本数目无穷的时候,才能保证在经验最小化下得到的最优值代表真实风险的最优结果。

      关键定理:将学习一致性的问题转换为收敛问题,最巧妙的地方就在于不是用经验风险去逼近真实风险,而是用经验风险最小化函数逼近真实风险最小化函数。

      VC维:假设存在一个有h样本的样本集能被一个函数集的函数按照所有可能的种形式分为两类,则此函数集能够把样本数为h的样本集打散,如果不存在h+1个样本能被打散,则函数集的VC维就是h。VC维的重要意义在于为判定线性可分和线性不可分提供了依据。假设一个数据集是可分的,维度就是样本的维度d,如果不是线性可分的,维度至少等于其VC维h=d+1,因此函数集的VC维越大,其非线性的程度越高。

(3)结构风险最小化

     定理:对于函数集f(x,),如果损失函数的取值为0或者1.对于所有函数,经验风险和真实风险之间至少以概率1-满足以下关系:

机器学习之路(七)支持向量机_第1张图片  

     其中n为样本数,h是VC维,0<=<=1.

     第一部分是经验风险,第二部分是置信区间。

     在这个函数中,如果n/h<20,则样本集称为小样本,当n/h较小时,置信区间较大,此时用经验风险近似真实风险就有较大误差,反之,经验风险最小化的最优解就接近真实最优解。而且如果n确定,VC维越大,模型越复杂,置信区间就越大,导致经验风险和真实风险的偏差越大。因此,在设计模型时,经验最小化和VC维最小化是必要的。 

     结构风险化最小原则(SRM):如果损失函数的同一个子集中置信区间相同,可以在每一个子集中寻找最小经验风险。选择最小化经验风险和置信区间之和最小的子集,就可以达到真实风险的最小。所求的最优函数即为子集中使经验风险最小的函数。

2. SVM简介

      支持向量机是在统计学习理论的VC维理论和结构风险最小化原理基础上发展起来的机器学习方法,是一种二类分类模型,基本模型是定义在特征空间上的间隔最大的线性分类器,和感知机最大的不同就是在于间隔。包括三种模型,分别是线性可支持向量机、线性支持向量机以及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化学习线性分类器,即线性可支持向量机,又称为硬间隔支持向量机。当训练数据近似线性可分时,通过软间隔最大化学习线性分类器,即线性支持向量机,又称为软间隔支持向量机。当训练数据线性不可分的时候,通过使用核技巧及软间隔最大化,学习非线性支持向量机。

3.数学推导

3.1最大间隔超平面

如果想对n维数据分类,可以根据梯度求取一个n-1维的超平面。一般来说,一个点距离超平面的远近可以表示分类预测的确信程度。这里有两个概念,函数间隔和几何间隔。

函数间隔:

分类超平面上使用常见的表达形式:w^Tx+b =0,根据点到直线的距离公式,点到超平面的距离公式可表示为:

          在这里标签类别我们使用{-1,1},为什么不使用0,1,当x在正例一侧时,代入函数得到大于0的值,乘上1是正值,可以表示距离,当x在负例一侧时,代入函数得到小于0的值,乘上-1还是正值,依然可以表示距离,所以可以用y(w*x+b)来表示分类的正确性及确信度,这是函数间隔。

         定义超平面关于训练集的函数间隔为超平面关于训练集中所有样本的点函数间隔的最小值。

          几何间隔:

          为什么有了函数间隔还要定义几何间隔?因为在函数间隔中,只要成比例的改变w和b,超平面没有变,但是函数间隔却会成倍数变化,因此希望对w添加约束,使得间隔确定,函数间隔就变成几何间隔:

          

           定义超平面关于训练集的几何间隔为超平面关于训练集中所有样本的点几何间隔的最小值。

          最大间隔平面:

          支持向量机的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面,原因是分类超平面可以满足经验风险最小,最大间隔满足置信区间最小,这样就实现了结构风险最优。

          支持向量和间隔边界:

          在线性可分的情况下,训练集中样本点与分离超平面距离最近的实例称为支持向量,对于y=+1的正例点,支持向量在超平面w*x+b=1上,对于y=-1的负例点,支持向量在超平面w*x+b=-1,两个平面之间的距离称为间隔,两个平面称为间隔边界,间隔依赖于分离超平面的法向量w。在决定分离超平面时,只有支持向量起作用,而其他实例点不起作用

        3.2线性可支持向量机

       最优形式

      根据上面所说的间隔边界和平行线计算公式,可以计算最大间隔超平面的距离:

      因此可以得到最优化形式:

      

      为了计算方便,可以进行转换:

      

  

 拉格朗日乘子法

           求解最优化问题,当为等式约束的时候,可以选择拉格朗日乘子法求解,当为不等式约束时,转化为在满足KKT约束条件下应用乘子法。拉格朗日求得的不一定是最优解,只有凸优化时,才是最优解。根据KKT条件,最大间隔超平面的充分必要条件是:

          为了求解该最优化问题,可以将它作为原最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题最优解。因为对偶问题往往更容易求解,而且更容易引入核函数,进而推广到非线性分类问题。

            引入拉格朗日乘子,得到拉格朗日函数:

           

    根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:

                 

    机器学习之路(七)支持向量机_第2张图片

    机器学习之路(七)支持向量机_第3张图片

机器学习之路(七)支持向量机_第4张图片

机器学习之路(七)支持向量机_第5张图片

3.3线性支持向量机

       对于线性不可分的数据,需要修改硬间隔最大化,使其成为软件隔最大化。因为通常情况下,训练数据中有一些离群点,这些样本点不能满足函数间隔大于等于1的约束条件,因为这些点的存在,最大间隔变小了,构造出的超平面的斜率会受到影响。但是将这些点去除后,剩余的点组成的集合和线性可分的。因此允许数据点在一定程度上偏离超平面,可以对样本点引入一个松弛变量。由于存在离群点,约束条件变为:

    松弛变量越大,离群点距离正确类别越远。在目标函数中也要增加一个惩罚项,即软间隔:

目标函数变为:

      在新的目标函数中的C>0称为惩罚因子,如果数据没有离散点,那么就可以设置C=0。松弛变量表示违背最小间距的程度,值越大表示偏离得越远。惩罚因子表示对违背最小间距的重视程度,或者说是离群点对目标函数的损失,C值越大表示目标函数损失也越大。当C无穷大时,只要有一个离群点就退化成了硬间隔问题。

     引入惩罚因子对于解决数据偏斜问题特别有效,当参与分类的两个样本数据量差异比较大的时候,比如正例有5000个样本,负例只有500个样本,那么分类超平面就会偏斜严重,从而影响了结果的准确性,此时给负例子更大的惩罚因子,表示对这部分数据更重视,就可以有些解决这个问题。

     类似于线性可分支持向量机的推导过程,可得原始问题的对偶问题:

机器学习之路(七)支持向量机_第6张图片

      在线性不可分情况下,将上述对偶问题的解对应的\alpha _{i}>0 的样本点的实例称为软间隔的支持向量。软间隔的支持向量分布在间隔边界上,或者在间隔边界与分离超平面之间或者在分离超平面误分类一侧。

      对软间隔支持向量机,KKT条件:

      机器学习之路(七)支持向量机_第7张图片

机器学习之路(七)支持向量机_第8张图片

 3.4非线性支持向量机与核函数

     核技巧:非线性问题往往不好求解,但是可以通过线性分类方法进行求解。通过非线性变换将原空间(欧式空间或离散集合)的数据映射到高维空间(希尔伯特空间),就会变得线性可分,就可以应用线性分类方法从训练数据中学习分类模型。学习是隐式的在特征空间中进行的,不需要显式的定义特征空间和映射函数,这样的技巧称为核技巧。

    核函数定义:如果存在一个从输入空间到特征空间的映射,使的所有属于输入空间的z,x,函数K(x,z)满足条件:

    

      则K(x,z)称为核函数,在学习和预测中之定义核函数,不显式的定义映射函数,因为直接计算核函数比较简单,但是通过映射函数计算核函数比较困难。

    机器学习之路(七)支持向量机_第9张图片

   非线性支持向量机:将线性支持向量机扩展到非线性支持向量机,只需要将线性支持向量机对偶形式中的内积换为核函数。

   

 

 

 

你可能感兴趣的:(机器学习)