支持向量机(2)

    最近看了张学工老师的《关于统计学习理论与支持向量机》和Vapnik的《Support Vector Networks》两篇文章。张学工老师是国内接触SVM比较早的学者,他的这篇文章算是支持向量机的一个综述;而Vapnik先生是SVM的发明者,SVM大牛中的大牛。他的这篇文章据说是支持向量机的第一篇论文。

    我看文献的习惯是先找一篇国内比较好的综述进行阅读,然后从这篇文章中去找相应的英文文献进行阅读。毕竟现在学术界很多新的理论、技术都来源于西方,因此,要想快速的掌握某个理论及其最新进展,阅读英文文献必不可少;如果想快速形成对所研究事物的初步看法并且想知道应该去找哪些英文文献来阅读的话,阅读国内的综述性文章也很必要。

    支持向量机其实是分类思想发展的必然结果,可以说,从Fisher先生1936年提出Fisher线性判别而导致模式分类技术的诞生开始,就已经注定了终有一天,支持向量机SVM会出现。SVM是一种有监督的机器学习,它的目的是根据训练集给出的样本来求取对系统输入输出关系的估计,当然,这种估计越准确越好。下面就是学习机的一个基本模型。

        image

    (1)线性判别函数

    如同上一篇所讲的,对于一个线性可分的两类问题,可以定义一个表达式

        image     (1)

其中x是d维特征向量,w是权向量,image 是阈值权。则可以采用如下的决策规则:

        image

分类策略如下:

        image      (2)

        事实上,g(x)定义了一个决策面,也叫分类面,将imageimage 中的样本区分开来。通过上一篇中的证明,我们知道g(x)定义的超平面把特征空间分成了两个决策区域,超平面方向由image 决定,位置由阈值权image 决定,判别函数正比于x到超平面的代数距离,即image

   (2)广义线性判别函数

    线性判别函数虽然简单,但是局限性很大,因为实际问题往往都非常复杂,不可能都是非线性这么简单。因此,对于非线性问题,当然要建立非线性判别函数了。例如对于下面的二阶问题:

        image

    如上图所示的两类问题,如果x<b或者x>a,则x属于image 类;如果b<x<a,则x属于image 类。那么定义二次判别函数:

        image     (3)

就可以很好地解决上面的分类问题,决策规则为:

        image

   二次判别函数可以写成:

image     (4)

    上面的二次分类器能很好地将数据分开,但我们知道,当判别函数的阶数越高的话,整个系统就越复杂,我们可能根本无法得出这样高阶的模型。但是这里出现了一种新思想,一种对以后分类器设计影响非常大的思想,那就是广义线性判别函数。

    广义线性判别是找到一种适当的image 映射,则可以把二次判别函数化为z的线性函数

image      (5)

式中:

image

image 就是广义线性判别函数,a就是广义权向量。

广义线性判别函数的一般表达式:

image     (6)

其中

    image

image 叫做增广样本向量,a叫做增广权向量,它们是image 维向量。因此这是一种将低维上的非线性问题转化到高维上的线性问题的思想

    (3)最优分类面

    前面已经说过,线性判别函数或者广义线性判别函数实际上定义了一系列分类面,用来将训练样本无错误地分开。如下图所示:

image

要想将图中的两个类分开,可以有很多分类面H,但是,究竟哪个面最好呢?图中的H3也能将两类分开,难道我们要选它作为分类面吗?

    SVM就是从线性可分情况下的最优分类面(Optimal Hyperplane)提出的。如上图所示,考虑两类线性可分情况,H为把两类没有错误地分开的分类线,image ,image 分别为过各类样本中离分类线最近且平行于分类线的直线,imageimage 之间的距离叫做两类的分类间隔。

    所谓最优分类面就是要求分类面不但能将两类无错误地分开,而且要使两类的分类间隔最大。很显然,上图中的H3不是一个最优分类面。

    设线性可分样本集为image 是类别标号。d维空间中线性判别函数的一般形式是image ,分类面方程为:

         image        (7)

将判别函数归一化,则分类间隔变为image (推导过程见前一节),因此要使间隔最大,则要使image 最小或者image 最小。而要求对所有样本正确分类,则要满足:

image    (8)

满足上面条件且使image最小的分类面就是最优分类面。过两类样本中离分类面最近的点且平行于最优分类面的超平面imageimage 上的训练样本就是使(8)中等号成立的样本,叫做支持向量所以对于支持向量这个名字我们要注意,它指的还是训练集中的样本,只不过是特殊的样本

    最优分类面问题可以转化成下面的约束优化问题,即在(8)的约束下求函数

         image    (9)的最小值,为此,可以构造如下的Lagrange函数:

        image    (10)

其中image 为Lagrange系数,对w和b求Lagrange函数的最小值。

    通过求偏导和对偶原理,上面的问题转化为在约束

        image      (11)                 这个式子是可以通过对b求偏导得到

之下对image 求解下列函数的最大值:

        image    (12)

image 为最优解,则

        image     (13)

从(13)中可以看出,最优分类面的权系数向量是训练集样本向量的线性组合。当然,一旦权向量出来了,b就很好求了,只要将支持向量代入表达式(8)使等号成立即可。这是一个约束条件下的二次寻优问题,存在唯一解。根据Kuhn-Tucker条件,这个优化问题必须满足

        image

最终得到的最优分类函数可以用一个符号函数来表示:

        image      (14)

    后记:这里只是简单讨论最简单的支持向量机的诞生过程,支持向量机是统计学习理论发展的集大成,具有很多新的特点,接下来将着重讲述在简单线性可分支持向量机基础上的扩展。

转载于:https://www.cnblogs.com/superhuake/archive/2012/07/24/2607436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值