支持向量机(2)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机(2)相关的知识,希望对你有一定的参考价值。

参考技术A

简单的说,支持向量机就是通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。(引自刘知行)

假设给定一个训练数据集 。同时,假定已经找到样本空间中的分割平面,其划分公式可以通过以下线性方程来描述: 使用一条直线对线性可分数据集进行分类的过程中,我们已经知道这样的直线可能有很多条:

对于线性可分的正负样本点而言,位于 虚线外的点就是正样本点,而位于 虚线外的点就是负样本点。另外,正好位于两条虚线上方的样本点就被我们称为支持向量,这也就是支持向量机的名字来源。

对于线性可分数据而言,几何间隔最大的分离超平面是唯一的,这里的间隔也被我们称之为「硬间隔」,而间隔最大化也就称为硬间隔最大化。上图实际上就是硬间隔的典型例子。
最大间隔分离超平面,我们希望最大化超平面 关于训练数据集的几何间隔 ,满足以下约束条件:每个训练样本点到超平面 的几何间隔至少都是 ,因此可以转化为以下的约束最优化问题:
实际上, 的取值并不会影响最优化问题的解,同时,我们根据数学对偶性原则,可以得到面向硬间隔的线性可分数据的支持向量机的最优化问题:
我们通常使用拉格朗日乘子法来求解最优化问题,将原始问题转化为对偶问题,通过解对偶问题得到原始问题的解。对公式(3)使用拉格朗日乘子法可得到其「对偶问题」。具体来说,对每条约束添加拉格朗日乘子 ,则该问题的拉格朗日函数可写为:
我们通过将公式(4)分别对 和 求偏导为 0 并代入原式中,可以将 和 消去,得到公式(3)的对偶问题:
解出最优解 后,基于此我们可以求得最优解 , ,由此得到分离超平面:
使用符号函数求得正负类之间的分类决策函数为:

当数据集变成严格意义上的线性不可分,如下图所示,在实心点和空心点中各混入了零星的不同类别的「噪声」数据点,造成线性不可分的原因往往是因为包含「噪声」数据,它同样可以被看作是不严格条件下的线性可分。
当我们使用支持向量机求解这类问题时,就会把最大间隔称之为最大「软间隔」,而软间隔就意味着可以容许零星噪声数据被误分类。

当出现上图所示的样本点不是严格线性可分的情况时,某些样本点 就不能满足函数间隔 的约束条件,即公式(3b)中的约束条件。为了解决这个问题,可以对每个样本点 引入一个松弛变量 ,使得函数间隔加上松弛变量 ,即约束条件转化为:
同时,对每个松弛变量 支付一个代价 ,目标函数由原来的 变成:
这里, 称为惩罚参数,一般根据实际情况确定。 值越大对误分类的惩罚增大,最优化问题即为:
这就是软间隔支持向量机的表示过程。同理,我们可以使用拉格朗日乘子法将其转换为对偶问题求解:
解出最优解 后,基于此我们可以求得最优解 , ,由此得到分离超平面:
使用符号函数求得正负类之间的分类决策函数为:

对于线性不可分的数据集,我们也可以通过支持向量机去完成分类。但是需要通过一些方法把线性不可分数据转换为线性可分数据之后,再完成分类。

我们把这种数据转换的方法称作「核技巧」,实现数据转换的函数称之为「核函数」

核技巧的关键在于空间映射,即将低维数据映射到高维空间中,使得数据集在高维空间能被线性可分。
如上图所示,假设我们在二维空间中有蓝色和红色代表的两类数据点,很明显无法使用一条直线把这两类数据分开。此时,如果我们使用核技巧将其映射到三维空间中,就变成了可以被平面线性可分的状态。

对于「映射」过程,我们还可以这样理解:分布在二维桌面上的红蓝小球无法被线性分开,此时将手掌拍向桌面(好疼),小球在力的作用下跳跃到三维空间中,这也就是一个直观的映射过程。
同时,「映射」的过程也就是通过核函数转换的过程。这里需要补充说明一点,那就是将数据点从低维度空间转换到高维度空间的方法有很多,但往往涉及到庞大的计算量,而数学家们从中发现了几种特殊的函数,这类函数能大大降低计算的复杂度,于是被命名为「核函数」。也就是说,核技巧是一种特殊的「映射」技巧,而核函数是核技巧的实现方法。

此外,核函数还可以通过函数组合得到,例如:
若 和 是核函数,那么对于任意正数 ,其线性组合:

我们通过直接引入核函数 ,而不需要显式的定义高维特征空间和映射函数,就可以利用解线性分类问题的方法来求解非线性分类问题的支持向量机。引入核函数以后,对偶问题就变为:
同样,解出最优解 后,基于此我们可以求得最优解 , ,由此得到分离超平面:
使用符号函数求得正负类之间的分类决策函数为:

主要参数说明:

以上是关于支持向量机(2)的主要内容,如果未能解决你的问题,请参考以下文章

02-33 非线性支持向量机

数据挖掘十大算法之SVM支持向量机分类算法

支持向量机优缺点?

6.支持向量机(SVM)什么是SVM支持向量机基本原理与思想基本原理课程中关于SVM介绍

支持向量机--软硬间隔与支持向量机

支持向量机