统计学习方法读书笔记第七章:支持向量机
统计学习方法读书笔记第七章:支持向量机
统计学习方法读书笔记第七章:支持向量机
支持向量机(support vector machines, SVM)是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法
线性可分支持向量机与硬间隔最大化
-
线性可分支持向量机
考虑一个二类分类问题。假设输入空间与特征空间为两个不同的空间。输入空间为欧式空间或离散集合,特征空间为欧式空间或希尔伯特空间。线性可分支持向量机、线性支持向量机假设这两个空间的原始一一对应,并将输入空间中的输入映射为特征空间中的特征向量。非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量。所以,输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间进行的。
假设给定一个特征空间上的训练数据集
其中,,,,为第个特征向量,也称为实例,为的类标记,当时,称为正例;当时,称为福利,称为样本点。再假设训练数据集是线性可分的。
学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类。分离超平面对应于方程,它由法向量和截距决定,可用来表示。一般地,当训练数据集线性可分时,存在无穷个分离超平面可将两类数据正确分开。感知机利用误分类最小的策略,求得分离超平面,不过这时的解由无穷多个。线性可分支持向量机利用间隔最大化求解最优分离超平面,这时,解释唯一的。
线性可分支持向量机 给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
以及相应的分类决策函数
称为线性可分支持向量机。
考虑下图所示的二维特征空间中的分类问题。图中“”表示正例,“”表示负例。训练数据集线性可分,这时有许多直线能将两类数据正确划分。线性可分支持向量机对应着将两类数据正确划分并且间隔最大的直线。 -
函数间隔和几何间隔
函数间隔 对于给定的训练数据集和超平面,定义超平面关于样本点的函数间隔为
定义超平面关于训练数据集的函数间隔为超平面关于中所有样本点的函数间隔之最小值,即
函数间隔可以表示分类预测的正确性及确信度。可以对分离超平面的法向量加某些约束,如规范化,,使得间隔是确定的。这时函数间隔成为几何间隔。
几何间隔 对于给定的训练数据集和超平面,定义超平面关于样本点的几何间隔为
定义超平面关于训练数据集的几何间隔为超平面关于中所有样本点的集合间隔之最小值,即
超平面关于样本点的几何间隔一般是实例点到超平面的带符号的距离,当样本点被超平面正确分类时就是实例点到超平面的距离。
从函数间隔和几何间隔的定义(式(3)~式(6))可知,函数间隔和几何间隔有下面的关系:
如果,那么函数间隔和几何间隔相等。如果超平面参数和成比例地改变(超平面没有改变),函数间隔也按此比例改变,而几何间隔不变。 -
间隔最大化
支持向量机学习的基本想法是求解能够正确划分训练数据集并且集合间隔最大的分离超平面。对线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面是唯一的。这里的间隔最大化又称为硬间隔最大化(与将要讨论的训练数据集近似线性可分时的软间隔最大化相对应)。
间隔最大化的直观解释是:队训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。也就是说,不仅将正负实例点分开,而且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新实例有很好的分类预测能力。
-
最大间隔分离超平面
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分离超平面。具体地,这个问题可以表示为下面的约束最优化问题
即我们希望最大化超平面关于训练数据集的几何间隔,约束条件表示的是超平面关于每个训练样本点的几何间隔至少是。
考虑几何间隔和函数间隔的关系式(8),可将这个问题改写为
函数间隔的取值并不影响最优化问题的解。事实上,假设将和按比例改变为和,这时函数间隔成为。函数间隔的这一改变对上面最优化问题的不等式约束没有影响,对目标函数的优化也没有影响,也就是说,它产生一个等价的最优化问题。这样,就可以取。将带入上面的最优化问题,注意到最大化和最小化是等价的,于是就得到下面的线性可分支持向量机的最优化问题
这是一个凸二次规划问题。
凸优化问题是指约束最优化问题
其中,目标函数和约束函数都是上的连续可微的凸函数,约束函数是上的仿射函数。
当目标函数是二次函数且约束函数是仿射函数时,上述凸优化问题成为凸二次规划问题。
如果求出了约束最优化问题(13)~(14)的解,,那么就可以得到最大间隔分离超平面及分类决策函数,即线性可分支持向量机模型。
综上所述,就有下面的线性可分支持向量机的学习算法-最大间隔法。
算法1(线性可分支持向量机学习算法-最大间隔法)
输入:线性可分训练数据集,其中,;
输出:最大间隔分离超平面和分类决策函数。
(1) 构造并求解约束最优化问题:
求得最优解,。
(2) 由此得到分离超平面:
分类决策函数 -
最大间隔分离超平面的存在唯一性
线性可分训练数据集的最大间隔分离超平面是存在且唯一的。
定理1(最大间隔分离超平面的存在唯一性) 弱训练数据集线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔超平面存在且唯一。
证明 (1) 存在性。由于训练数据集线性可分,所以算法1中的最优化问题(13)~(14)一定存在可行解。又由于目标函数有下界,所以最优化问题(13)~(14)必有解,记作。由于训练数据集中既有正类点又有负类点,所以不是最优化的可行解,因而最优解比满足。由此得知分离超平面的存在性。
(2) 唯一性。首先证明最优化问题(13)~(14)解中的唯一性。假设问题(13)~(14)存在两个最优解和。显然,其中是一个常数。令,易知是问题(13)~(14)的可行解,从而有
上式表明,式中的不等号可变为等号,即,从而有。若,则,不是问题(13)~(14)的可行解,矛盾。因此必有,即
由此可以把两个最优解和分别写成和。再证。设和是集合中分别对应于和使得问题的不等式等号成立的点,和试剂盒中分别对应于和使得问题的不等式等号成立的点,则由,得
又因为
所以,。同理有。因此,
由和可知,两个最优解和是相同的,解的唯一性得证。
由问题(13)~(14)解的唯一性即得分离超平面是唯一的。
(3) 分离超平面能将训练数据集中的两类点完全正确地分开。
由解满足问题的约束条件即可得知。 -
支持向量和间隔边界
在线性可分情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量。支持向量是使约束条件式(14)等号成立的点,即
对的正例点,支持向量在超平面
上,对的负例点,支持向量在超平面
上。如下图所示,在和上的点就是支持向量。
注意到和平行,并且没有实例点落在它们中间。在与之间形成的一条长带,分离超平面与它们平行且位于它们中央。长带的宽度,即与之间的距离称为间隔。间隔依赖于分离超平面的法向量,等于。和称为分隔边界。
在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用。若果移动支持向量将改变所求的解;但是如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解是不会改变的。由于支持向量在确定分离超平面中起着决定性作用,所以将这种分类模型称为支持向量。支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本确定。
- 学习的对偶算法
为了求解线性可分支持向量机的最优化问题(13)~(14),将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可分支持向量机的对偶算法。这样做的有点,一是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。
首先构建拉格朗日系数。为此,对每一个不等式约束(14)引进拉格朗日乘子,定义拉格朗日函数:
其中,为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
所以,为了得到对偶问题的解,需要先求对的极小,再求对的极大。
(1) 求
将拉格朗日函数分别对求偏导数并令其等于0。
得
将式(19)带入拉格朗日函数(18),并利用式(20),即得
即
(2) 求对的极大,即是对偶问题
将式(21)的目标函数由求极大转换成求极小,就得到下面与之等价的对偶最优化问题:
考虑原始最优化问题(13)~(14)和对偶最优化问题(22)~(24),原始问题满足定理C.2的条件,所以存在,使是原始问题的解,是对偶问题的解。这意味着求解原始问题(13)~(14)可以转换为求解对偶问题(22)~(24)。
对线性可分训练数据集,假设对偶最优化问题(22)~(24)对的解为,可以由求得原始最优化问题(13)~(14)对的解。有下面的定理。
定理2 设是对偶问题(22)~(24)的解,则存在下标,使得,并可按下式求得原始最优化问题(13)~(14)的解:
证明 根据定理C.3,KKT条件成立,即得
由此得
其中至少有一个(用反证法,假设,由式(27)可知,而不是原始最优化问题(13)~(14)的解,产生矛盾),对此有
将式(25)带入式(28)并注意到,即得
由此定理可知,分离超平面可以写成
分类决策函数可以写成
这就是说,分类决策函数只依赖于输入和训练样本输入的内积。式(30)称为线性可分支持向量机的对偶形式。
综上所述,对于给定的现行可分训练数据集,可以首先求对偶问题(22)~(24)的解;再利用式(25)和式(26)求得原始问题的解;从而得到分离超平面及分类决策函数。这种算法称为线性可分支持向量机的对偶学习算法,是线性可分支持向量机学习的基本算法。
算法2(线性可分支持向量机学习算法)
输入:现行可分训练集,其中;
输出:分离超平面和分类决策函数。
(1) 构造并求解约束最优化问题
求得最优解。
(2) 计算
并选择的一个正分量,计算
求得分离超平面
分类决策函数:
在线性可分支持向量机中,由式(25)、式(26)可知,和只依赖于训练数据中对应于的样本点,而其他样本点对和没有影响。我们将训练数据中对应于的实例点称为支持向量。
定义4(支持向量) 考虑原始优化问题(13)~(14)及对偶最优化问题(22)~(24),将训练数据集中对应于的样本点的实例称为支持向量。
根据这一定义,支持向量一定在间隔边界上。由KKT互补条件可知,
对应于的实例,有
或
即一定在间隔边界上。这里的支持向量的定义与前面给出的支持向量的定义是一致的。
线性支持向量机与软间隔最大化
-
线性支持向量机
线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,因为这时上述方法中的不等式约束并不能都成立。怎么才能将它扩展到线性不可分问题呢?这就需要修改硬间隔最大化,使其称为软间隔最大化。
假设给定一个特征空间上的训练数据集
其中,KaTeX parse error: Can't use function '\=' in math mode at position 49: …cal{Y}=\{+1,-11\̲=̲},i=1,2,\cdots,…,为第个特征向量,为的类标记。再假设训练数据集不是线性可分的。通常情况是,训练数据中有一些特异点,将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。
线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件(14)。为了解决这个问题,可以对每个样本点引进一个松弛变量,使函数间隔加上松弛变量大于等于1。这样,约束条件变为
同时,对每个松弛变量,支付一个代价。目标函数由原来的变成
这里,称为惩罚参数,一般由应用问题决定,值大时对误分类的惩罚增大,值小时对误分类的惩罚减小。最小化目标函数(31)包含两层含义:使尽量小即间隔尽量大,同时使误分类点的个数尽量小,是调和二者的系数。
有了上面的思路,可以和训练数据集线性可分时一样来考虑训练数据集线性不可分时的线性支持向量机学习问题。相应于硬间隔最大化,它称为软间隔最大化。
线性不可分的线性支持向量机的学习问题变成如下凸二次规划问题(原始问题):
原始问题(32)~(34)是一个凸二次规划问题,因而关于的解是存在的。可以证明的解是唯一的,但的解不唯一,的解存在于一个区间。
设问题(32)~(34)的解是,于是可以得到分离超平面以及分类决策函数。称这样的模型为训练样本线性不可分时的线性支持向量机,简称为线性支持向量机。显然,线性支持向量机包含线性可分支持向量机。由于现实中训练数据集往往是线性不可分的,线性支持向量机具有更广的适用性。
下面给出线性支持向量机的定义。
定义5(线性支持向量机) 对于给定的线性不可分的训练数据集,通过求解图二次规划问题,即软间隔最大化问题(32)~(34),得到分离超平面为
以及相应的分类决策函数
称为线性支持向量机。 -
学习的对偶算法
原始问题(32)~(34)的对偶问题是
原始最优化问题(32)~(34)的拉格朗日函数是
其中,。
对偶问题是拉格朗日函数的极大极小问题。首先求对的极小,由
得
将式(41)~(43)带入式(40),得
再对求的极大,即得对偶问题:
将对偶最优化问题(44)~(48)进行变换;利用等式约束(46)消去,从而只留下变量,并将约束(46)~(48)写成
再将对目标函数求极大转换为求极小,于是得到对偶问题(37)~(39)。
可以通过求解对偶问题而得到原始问题的解,进而确定分离超平面和决策函数。为此,就可以定理的形式叙述原始问题的最优解和对偶问题的最优解的关系。
定理3 设是对偶问题(37)~(39)的一个解,弱存在的一个分量,则原始问题的解可按下式求得:
证明 原始问题是凸二次规划问题,解满足KKT条件。即得
由式(52)易知式(50)成立。再由式(53)~(54)可知,弱存在,则。由此即得式(51)。
由此定理可知,分离超平面可以写成
分类决策函数可以写成
式(56)为线性支持向量机的对偶形式。
综合前面的结果,有下面的算法。
算法3(线性支持向量机学习算法)
输入:训练数据集,其中,;
输出:分离超平面和分类决策函数。
(1) 选择惩罚参数,构造并求解凸二次规划问题
求得最优解。
(2) 计算
选择的一个分量适合条件,计算
(3) 求得分离超平面
分类决策函数:
步骤(2)中,对任一适合条件的,按式(51)都可求出,但是由于原始问题(32)~(34)对的解并不唯一,所以实际计算时可以取在所有符合条件的样本点上的平均值。 -
支持向量
在线性不可分的情况下,将对偶问题(37)~(39)的解中对应于的样本点的实例称为支持向量(软间隔的支持向量)。如图所示,这时的支持向量要比线性可分时的情况复杂一些。途中,分离超平面由实线表示,间隔边界由虚线表示,正例点由“”表示,负例点由“”表示。图中还标出了实例到间隔边界的距离。
软间隔的支持向量或者在间隔边界上,或者在间隔边界与分离超平面之间,或者在分离超平面误分一侧。若,则,支持向量恰好落在间隔边界上;若,则分类正确,在间隔边界与分离超平面之间;若,则在分离超平面上;若,则位于分离超平面误分一侧。 -
合页损失函数
对于线性支持向量机学习来说,其模型为分离超平面及决策函数,其学习策略为软间隔最大化,学习算法为凸二次规划。
线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:
目标函数的第1项是经验损失或经验风险,函数
称为合页损失函数。下表"+"表示以下取正值的函数。
这就是说,当样本点被正确分类且函数间隔(确信度)大于1时,损失是0,否则损失是,注意到在上图中的实例点被正确分类,但损失不是0。目标函数的第二项是系数为的的范数,是正则化项。
定理4 线性支持向量机原始最优化问题:
等价于最优化问题
证明 可将最优化问题(63)写成问题(60)~(62)。令
则。于是满足约束条件(61)~(62)。由式(64)有,,所以最优化问题(63)可写成
若取,则
与式(60)等价。
反之,也可将最优化问题(60)~(62)表示成问题(63)。
合页损失函数的图形如图所示,横轴是函数间隔,纵轴是损失。由于函数形状像一个合页,故名合页损失函数。
途中还画出0-1损失函数,可以认为它是二类分类问题的真正的损失函数,而合页损失函数是0-1损失函数的上界。由于0-1损失函数不是连续可导的, 优化由其构成的目标函数比较困难,可以认为线性支持向量机是优化由0-1损失函数的上界(合页损失函数)构成的目标函数。这时的上界损失函数又称为代理损失函数。
上图中虚线显示的是感知机的损失函数。这时,当样本点被正确分类时,损失是0,否则损失是。相比之下,合页损失函数不仅要分类正确,而且确信度足够高时损失才是0。也就是说,合页损失函数对学习有更高的要求。
非线性支持向量机与核函数
对解线性分类问题,线性分类支持向量机是一种非常有效的方法。但是,有时分类问题是非线性的,这时可以使用非线性支持向量机。本节叙述非线性支持向量机,其主要特点是是利用核技巧。为此,先要介绍核技巧。核技巧不仅应用于支持向量机,而且应用于其他统计学习问题。
- 核技巧
-
非线性分类问题
非线性分类问题是指通过非线性模型才能很好地进行分类的问题。先看一个例子:如下左图,是一个分类问题,图中“”表示正实例点,“”表示负实例点。由图可见,无法用直线(线性模型)将正负实例正确分开,但可以用一条椭圆曲线(非线性模型)将它们正确分开。
一般来说,对给定的一个训练数据集KaTeX parse error: Expected 'EOF', got '\cdos' at position 25: …y_1),(x_2,y_2),\̲c̲d̲o̲s̲,(x_N,y_N)\},其中,实例属于输入空间,,对应的标记有两类。如果能用中的一个超曲面将正负例正确分开,则称这个问题为非线性可分问题。
非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。所采取的方法是进行一个非线性变换,将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。对上图所示的例子,通过变换,将左图中椭圆变化成右图中的直线,将非线性分类问题变换为线性分类问题。
设原空间为,新空间为,定义从原空间到新空间的变换(映射):
经过变换,原空间变换为新空间,原空间中的点相应地变换为新空间中的点,原空间中的椭圆
变换成为新空间中的直线
在变换后的新空间里,直线可以将变换后的正负实例点正确分尅。这样,原空间的非线性可分问题就变成了新空间的线性可分问题。
上面的例子说明,用线性分类方法求解非线性分类问题分为两步:首先使用一个变换将原空间的数据映射到新空间;然后在新空间里用线性分类学习方法从训练数据中学习分类模型。核技巧就属于这样的方法。
核技巧应用到支持向量机,其基本想法就是通过一个非线性变换将输入空间(欧式空间或离散集合)对应于一个特征空间(希尔伯特空间),使得在输入空间中的超曲面模型对应于特征空间中的超平面模型(支持向量机)。这样,分类问题的学习任务通过在特征空间中求解线性支持向量机就可以完成。 -
核函数的定义
定义6(核函数) 设是输入空间(欧式空间的子集或离散集合),又设为特征空间(希尔伯特空间),如果存在一个从到的映射
使得对所有,函数满足条件
则称为核函数,为映射函数,式中为和的内积。
核技巧的想法是,在学习与预测中只定义核函数,而不显式地定义映射函数。通常,直接计算比较容易,而通过和计算并不容易。注意,是输入控件到特征空间的映射,特征空间一般是高维的,甚至是无穷维的。可以看到,对于给定的核,特征空间和映射函数的取法并不唯一,可以取不同的特征空间,即便是在同意特征空间里也可以取不同的映射。 -
核技巧在支持向量机中的应用
我们注意到在线性支持向量机的对偶问题中,吴坤是目标函数还是决策函数(分离超平面)都只涉及输入实例与实例之间的内积。在对偶问题的目标函数(37)中的内积可以用核函数来代替。此时对偶问题的目标函数成为
同样,分类决策函数中的内积也可以用核函数代替,而分类决策函数式成为
这等价于经过映射函数将原来的输入空间变换到一个新的特征空间,将输入空间中的内积变换为特征空间中的内积,在新的特征空间里从训练样本中学习线性支持向量机。当映射函数是非线性函数时,学习到的含有核函数的支持向量机是非线性分类模型。
也就是说,在核函数给定的条件下,可以利用解线性分类问题的方法求解非线性分类问题的支持向量机。学习是隐式地在特征空间进行的,不需要显式地定义特征空间和映射函数。这样的技巧称为核技巧,它是巧妙地利用线性分类方法与核函数解决非线性问题的技术。在实际应用中,往往依赖领域只是直接选择核函数,核函数选择的有效性需要通过实验验证。
- 正定核
已知映射函数,可以通过和的内积求得核函数。不用构造映射能否直接判断一个给定的函数是不是核函数?或者说,函数满足什么条件才能称为核函数?
本节叙述正定核的充要条件。通常所说的核函数就是正定核函数。为证明此定理先介绍有关的预备知识。
假设是定义在上的对称函数,并且对任意的,关于的Gram矩阵是半正定的。可以依据函数,构成一个希尔伯特空间,其步骤是:首先定义映射并构成向量空间;然后在上定义内积构成内积空间;最后将完备化构成希尔伯特空间。
-
定义映射,构成向量空间
先定义映射
根据这一映射,对任意,定义线性组合
考虑由线性组合为元素的集合。由于集合对加法和数乘运算是封闭的,所以构成一个向量空间。 -
在上定义内积,使其称为内积空间
在上定义一个运算:对任意,
定义运算
证明运算是空间的内积。为此要证:
(1)
(2)
(3)
(4)
其中,(1)~(3)由式(70)~式(72)及的对称性容易得到。现证(4)之式(77)。由式(70)及式(73)可得:
由Gram矩阵的半正定性知上式右端非负,即。
再证(4)之式(78)。充分性显然。为证必要性,首先证明不等式:
设,则,于是,
其左端是的二次三项式,非负,其判别式小于等于0,即
于是式(79)得证。现证若,则。事实上,若
则按运算的定义式(73),对任意的,有
于是,
由式(70)和式(77)有
由式(80)有
此式表明,当时,对任意的都有。
至此,证明了为向量空间的内积。赋予内积的向量空间为内积空间。因此是一个内积空间。既然为的内积运算,那么仍然用表示,即若
则 -
将内积空间完备化为希尔伯特空间
现在将内积空间完备化。由式(81)定义的内积可以得到范数
因此,是一个赋范向量空间。根据泛函分析理论,对于不完备的赋范向量空间,一定可以使之完备化,得到完备的赋范向量空间。一个内积空间,当作为一个赋范向量空间是完备的时候,就是希尔伯特空间。这样,就得到了希尔伯特空间。
这一希尔伯特空间称为再生核希尔伯特空间。这时由于核具有再生性,即满足
及
称为再生核。 -
正定核的充要条件
定理5(正定核的充要条件) 设是对称函数,则为正定核函数的充要条件是对任意,对应的Gram矩阵:
是半正定矩阵。
证明 必要性。由于是上的正定核,所以存在从到希尔伯特空间的映射,使得
于是,对任意,构造关于的Gram矩阵
对任意,有
表明关于的Gram矩阵是半正定的。
充分性。已知对称函数对任意,关于的Gram矩阵是半正定的。根据前面的结果,对给定的,可以构造从到某个希尔伯特空间的映射:
由式(83)可知,
并且
由式(86)即得
表明是上的核函数。
定理给出了正定核的充要条件,因此可以作为正定核,即核函数的另一定义。
定义7(正定核的等价定义) 设,是定义在上的对称函数,如果对任意,对应的Gram矩阵
是半正定矩阵,则称是正定核。
这一定义在构造核函数时很有用,但对于一个具体函数来说,检验它是否为正定核函数并不容易,因为要求对任意有限输入集验证对应的Gram矩阵是否为半正定的。在实际问题中往往应用已有的核函数。另外,由Mercer定理可以得到Mercer核,正定核比Mercer核更具一般性。下面介绍一些常用的核函数。
- 常用核函数
-
多项式核函数
对应的支持向量机是一个次多项式分类器。在此情形下,分类决策函数成为 -
高斯核函数
对应的支持向量机是高斯径向基函数分类器。在此情形下,分类决策函数成为 -
字符串核函数
核函数不仅可以定义在欧式空间上,还可以定义在离散数据的集合上。比如,字符串核是定义在字符串集合上的核函数。字符串核函数在文本分类、信息检索、生物信息学等方面都有应用。
考虑一个有限字符表。字符串是从中取出有限个字符的序列,包括空字符串。字符串的长度用表示,它的元素记作。两个字符串和的连接记作。所有长度为的字符串的集合记作,所有字符串的集合记作。
考虑字符串的子串。给定一个指标序列,的子串定义为,其长度记作。如果是连续的,则;否则,。
假设是长度大于或等于字符串的集合,是的元素。现在建立字符串集合到特征空间的映射。表示定义在上的实数空间,其每一维对应一个字符串,映射将字符串对应于空间的一个向量,其在维上的取值为
这里,是一个衰减参数,表示字符串的长度,求和在中所有与相同的子串上进行。
例如,假设为英文字符集,为3,为长度大于或等于3的字符串的集合。考虑将字符集映射到特征空间。的一维对应于字符串。这时,字符串""与“ ”在这一维上的值分别是和(为空格)。在第1个字符串里,是连续的子串。在第2个字符串里,是长度为5的不连续子串,共出现2次。
两个字符串和上的字符串核函数是基于映射的特征空间中的内积:
字符串核函数给出了字符串和中长度等于的所有子串组成的特征向量的余弦相似度。直观上,两个字符串相同的子串越多,它们就越相似,字符串核函数的值就越大。字符串核函数可以由动态规划快速地计算。
-
非线性支持向量分类机
如上所述,利用核技巧,可以讲线性分类的学习方法应用到非线性分类问题中去。将线性支持向量机扩展到非线性支持向量机,只需将线性支持向量机对偶形式中的内积换成核函数。
定义8(非线性支持向量机) 从非线性分类训练集,通过核函数与软间隔最大化,或凸二次规划(95)~(97),学习得到的分类决策函数
称为非线性支持向量,是正定核函数。
下面叙述非线性支持向量机学习算法。
算法4(非线性支持向量机学习算法)
输入:训练数据集,其中;
输出:分类决策函数。
(1) 选取适当的核函数和适当的参数,构造并求解最优化问题
求得最优解。
(2) 选择的一个正分量,计算
(3) 构造决策函数:
当是正定核函数时,问题(95)~(97)是凸二次规划问题,解是存在的。