支持向量机(SVM)详解(二)

支持向量机(SVM)详解(二)

本文承接上一篇《支持向量机(SVM)详解(一)》,继续对支持向量机进行介绍,这篇文章分为两大部分:软间隔支持向量机和核函数的引入。

一、“软间隔”(Soft-margin)支持向量机

  “软间隔”支持向量机是一种不满足式(2)的,不可以将训练样本“完美”划分的分类器。

目标函数

  在现实任务中很多情况下都不满足式(2)这种情况,为了避免使用核函数带来的过拟合问题,软间隔支持向量机允许训练集中的一部分样本不满足“完美”划分条件,但是在最大化间隔时,应使不满足约束的样本点尽可能少。因此在式(4)的优化目标函数中加入损失函数 l o s t ( x i , y i ) ,来表示上述这些不满足约束的样本点的影响,即

  当损失函数 l o s t ( x i , y i ) 采用0/1损失函数

f ( n ) = { 1 , z < 0 0 , otherwise
时(其中 z = y i ( ω T x i + b ) 1 ),若参数 C 无穷大,那么就会迫使所有样本点满足式(2)中的约束条件,而式(10)等价于式(4),反之,如果所有样本点均满足式(2)(此时损失函数不小于零),那么参数 被迫为零,式(10)同样等价与式(4);若参数 为有限值,那么式(10)允许一部分样本点不满足式(2)。
  但是,由于0/1损失函数不连续、数学性质不好,且由于其非凸而不满足凸优化条件使得强对偶性不成立【6】,因此不易于直接求解。于是出现了许多用来替代0/1损失函数的“替代损失”函数(Surrogate   Loss   Function),这些函数往往具有良好的数学性质,他们通常是凸的连续函数而且是0/1损失函数的上界,如下三种替代损失函数

这几种损失函数的关系由下图所示,其中红色线为0/1损失函数

  由于损失函数不小于零的性质,在这里引入松弛变量(Slack   Variable) ξ i 0 ,优化目标函数中的损失函数 l o s t ( x i , y i ) 可以被替换为 ξ i 0 ,这时,优化目标可以写为


这就是软间隔支持向量机的优化目标,其中松弛变量 ξ i 0 由来描述样本点不满足式(2)约束条件的程度,且满足【5】中二次规划问题的条件,可以采用现成的二次规划包来进行求解。
需要注意的是,式(11)中第一项可以看做是“结构风险”(Structural   Risk),即模型过拟合的风险,另一项可以看做是“经验风险”(Empirical   Risk),即模型与训练集的契合程度,参数 是正则化系数,因此,式(11)可以称为“正则化问题”(Regularization   Problem)。

目标函数的对偶问题

  与硬间隔支持向量机中的讨论类似,在软间隔支持向量机中,优化目标的拉格朗日乘子函数可以表示为

其中 α i 0 和中 μ i 0 是拉格朗日乘子,其KKT条件为

  由于满足凸优化条件【6】,因此与硬间隔相同,主问题与其对偶问题有相同的解,即

将拉格朗日乘子函数分别对 ω b ξ 求偏导数并置零,可以得到

将上式带入式(11)即得其对偶问题

可以看出这与式(6)的区别在对 α i 约束条件的不同,式(6)中 α i 0 ,因此可以采用与硬间隔支持向量机相同的方法求解对偶问题。得到上述参数后,软间隔支持向量机的分类边界可以表示为(注意这里的参数 b 是由参数 ξ i 决定的)

对KKT条件的理解

  由软间隔支持向量机的KKT条件可知,所有样本点均满足 α i = 0 f ( x i ) = 1 ξ i ,基于参数 α i 的几种不同的情况,分别做以下讨论:
(1) α i = 0
  这时,该样本点对最终的分类边界没有任何影响;
(2) C > a l p h a i > 0
  由 C = α i + μ i 可知 μ i > 0 ,这时松弛向量 ξ i = 0 ,该样本满足式(2)的约束条件,位于最大间隔上或最大间隔外,这些点决定了参数

被称为“自由支持向量”(Free   SV)。
(3) α i = C
  由 C = α i + μ i 可知 μ i = 0 ,这时若 0 ξ i 1 ,那么此样本点位于最大间隔内部或最大间隔上;若 ξ i > 1 ,那么此样本点被错误分类,这些点是支持向量。
  由上述讨论可知,软间隔支持向量机的最终模型同样取决于支持向量,即替代损失函数保留了原优化问题的稀疏性。

二、核函数的引入

  对于现实任务中不可分的训练样本,除了采用软间隔支持向量机“强行”将这些样本点分开,还可以通过将低维空间中的向量映射到高维空间中,来解决低维空间中的不可分问题,具体的说,如果原始空间是有限维的,即属性数有限,那么一定存在一个高维空间使得样本可分。下面以异或问题为例,将二维空间中的向量映射到了三维空间中,在三维空间中存在一个划分平面,将样本“完美”划分

  令 ϕ ( x ) 表示将向量 x 映射到高维空间 d ( ϕ ( x ) ) d ( x ) 后产生的新向量,那么式(4)在高维空间中可以写成如下形式

其对偶问题的形式为

为了求解上式,需要计算高维空间中的内积 ϕ ( x i ) T ϕ ( x j ) ,根据映射的不同,高维空间的维数很高,甚至可能为无限维,因此直接计算 ϕ ( x i ) T ϕ ( x j ) 是非常困难的。
  为了解决上述问题,可以设计这样一个函数

x i x j 在映射后的高维空间中的内积等于他们在原始低维空间中通过函数 k ( ˙ , ˙ ) 计算的结果,这样就不用直接计算高维甚至无限维空间中的内积,这个函数就被称为“核函数”(Kernel   Function)。在引入核函数后,原优化目标的对偶问题可以表示为

求解后得到的分类边界可以表示为

  核函数具有以下定义,
  令 χ 为输入空间, k ( ˙ , ˙ ) 是定义在 χ × χ 上的对称函数,则 k ( ˙ , ˙ ) 是核函数当且仅当对于任意数据 D = { x 1 , x 2 , . . . , x m } ,“核矩阵”(Kernel   Matrix) K 总是半正定的:

由以上定义可知,只要一个对称函数的核矩阵为半正定的,他就能作为核函数来使用,这就是Mercer定理,每一个核函数都隐式的定义了一个称为“再生希尔伯特空间”的特征空间。需要注意的是由于 k ( ˙ , ˙ ) 是对称函数,其核矩阵 K 必定是对称矩阵。
核函数的选择决定了最后得到的模型,常用的核函数有:
(1) 线性核

(2) 多项式核

其中 d 1 为多项式的次数,当 d = 1 时,退化为线性核
(3) 高斯核

其中 σ > 0 为高斯核的带宽
(4) 拉普拉斯核

其中 σ > 0 为拉普拉斯核的带宽
(5) Sigmoid核

其中 β > 0 θ < 0
此外,核函数还有以下性质
(1)若 k 1 k 2 为核函数,则对于任意正数 γ 1 ,其线性组合 γ 1 k 1 + γ 2 k 2 也是核函数;
(2)若 k 1 k 2 为核函数,则核函数的内积 k 1 k 2 ( x , z ) = k 1 ( x , z ) k 2 ( x , z ) 也是核函数;
(3)若 k 1 k 2 为核函数,则对于任意函数 g ( x ) k ( x , z ) = g ( x ) k ( x , z ) g ( z ) 也是核函数。


至此,关于支持向量机的详细介绍已经完结,下一篇将会介绍与SVM的思想类似的,但是用于回归任务的“支持向量回归”(SVR)。

猜你喜欢

转载自blog.csdn.net/qq_40793975/article/details/81739368