初译 Support Vector Machines:A Simple Tutorial(四)

这本SVM的教程 #附录之前的部分这是最后一篇,而在本篇以及之前的三篇中仍有诸多不清楚的地方,之后搞懂了再来改正。

带有核函数的SVM分类器

SVM with kernels

在SVM分类器中,核函数是用在对偶问题中的一种特殊的函数,同时也在SVM的决定函数中起到代替了内积的作用,核函数可以将我们当前的数据集空间映射到一个更加高维度的空间H中去,然后在这个空间H中我们可以利用前几章所述的方法找到拥有最大margin的超平面,目前大多数的核映射都是非线性的映射 ,因此我们在空间H得到的线性的最大间隔超平面自然就对应着原数据集中一个非线性的分离平面,因为现实中的数据集非线性的居多,则这种非线性平面往往比线性的超平面带来更好的学习和测试效果,换句话说,当数据集被映射到更高维度时,我们的数据集在高维空间H中也许会更容易的被线性超平面所分开。

4.1核技巧Kernel trick

如下图中白色和黑色两种圆点所示:在图a和图c中无论如何和也找不到可以将两种数据分离开的线性超平面,然后我们可以定义如下的映射:
                                                          (4.1)
                               (4.2)
通过上映述射,我们可以将下图a和c中的数据点分别映射到二维和三维空间中,如下图b和d所示,而显然在高维空间中这些数据集就能够被一个超平面分离开,当然,在图b和d中的线性超平面在原空间就对应着一个非线性的平面,因为两个空间之间的映射为非线性映射。
这里写图片描述
假设已经存在一个从原始数据空间到高维空间的映射,并且我们需要在空间寻找到一个最优的分离超平面,为了达到这个目的,我们需要将我们的数据集转变为,之后我们关于寻找最优超平面的问题就变成了如下形式:
                                                                          (4.3)
s.t.
                                           (4.4)
                                              ;                                          (4.5)
其中,并且其中的向量和向量的内积也都定义在中,并且为了将一个属于的数据点正确分类,我们就需要将该点带入核映射之中,则有下述的decision function:
                                                                    (4.6)
因此在下文中我们使用核函数这个名称来代替这种向高维空间的映射,因此和前几章同理,我们的对偶问题就会变为如下形式:
                         (4.7)
s.t.
                                                                                                             (4.8)
                                                                                                                                        (4.9)
我们将上一节中的公式3.16(如下)带入到decision function中:

得到新的decision function如下:
                                              (4.10)
在decision function中,我们使用了核函数k来代表,因此当我们知道原数据空间中的变量xz的和核映射的时候,我们就可以如之前一样解决本节的对偶问题,因此,我们可以建立一个核函数来简化表示这种映射关系,这样就可以将数据点从原始空间映射到高维空间的步骤隐藏起来(只是隐藏起来,变成了一个函数),则我们的对偶问题就可以被写成如下形式:
;                                   (4.11)
s.t.
                                                                                                             (4.12)
                                                                                                                                        (4.13)
则decision function可以被写为如下形式:
                                                       (4.14)
此处原文中有关于的简单推导,在此不做赘述(其实是嫌麻烦,以后补上咯~)。
如果我们能够找到一个足够合适的核函数k(x,z)来取代原问题中的内积,我们就可以不需要考虑相关的映射关系,不需要考虑空间之间的映射函数,直接使用核函数即可,所谓的“合适”的核函数可以使任意的能代表高维空间* H*中的向量内积的函数,接下来就会给出几种常用的核函数。

4.2核函数kernel function

我们可以使用* V*来代表n维的实数坐标空间或者任意的向量空间,而核函数* k*则代表了映射,其中的空间R包括了空间V到空间* H*之间的映射和其之间的内积(这句不懂..原文如下:Let V be the n-dimensional real coordinate space R^n or any other vector space. A kernel k is a mapping from V*V to R such that there exist space H supplied with the inner product, and a mapping from V to H),所以对于空间V中任意的* x,z*有:
                                                                                   (4.15)
空间H一般被称为特征空间(feature space)并且映射一般被称为特征映射(feature mapping),与此定义随之而来的就是核函数的两条性质:
1.因为向量内积是一种对称函数,所以满足于‘交换率’,即对于任意的x* z*,均满足
2.当有一个m维的向量,将其任意的两个向量组分带入到核函数中就可以得到一个m乘m维的矩阵K,该矩阵k就是向量的格拉姆矩阵(内积的对称矩阵),因此K必定为半正定矩阵,对于任意的向量,由核函数可以推导出一个半正定矩阵* k*,即称为核函数的半正定性。
因此,我们可以说任意的核函数都是对称且半正定函数,那如果考虑其逆命题呢?任意的半正定并且对称的函数都可以作为核函数吗?对的,其逆命题也一样成立,可以通过Mercer理论(不知道是什么鬼,学习ing)证明:对于任意的函数我们都可以找到一个无线维度的空间* H*和映射以满足公式(4.16),因此对称而且半正定的函数有时被称为函数成为核函数的Mercer条件。
对于SVM分类器,核函数可以被视为内积的推广形式,就像我们之前所说的,我们在不清楚高维空间* H*和映射得情况下也可以使用核函数,同样的,对于一个给定的核函数k,其向量空间和映射都不是惟一的,例如接下来要说的多项式核函数。
当一个函数不满足Mercer规则而被用作核函数时会发生什么?假设该函数违反了所有的两条规则,则该函数不是半正定函数,就代表上述矩阵并不是半正定,即为正定或者负定。如果训练集的Mercer矩阵为半正定矩阵,则优化问题(4.11)-(4.13)仍然是是一个凹函数,即拥有一个或者多个全局最优点,在这种情况下这个最优化问题是可以解决的,可以找到拥有最大间隔的超平面,尽管这个平面的几何性质会有一些问题(In this case we will be able to solve it and find the optimal separating hyperplane, although geometrical properties of this hyperplane (maximum margin subject to given penalty C for errors) may not be valid.不晓得是什么意思,公式推导中…以后再改)
然而如果不是半正定矩阵,公式(4.11)在由约束(4.12)和(4.13)定义的可行域中就会变为无限制的(unbounded),也就意味着问题无法得到解决。为在空间中定义的两种核函数,那么很容易就可以证明,下列函数也同样时核函数。
1.
2.
如果函数为空间* V*中的实值函数,则有下列函数为核函数:
1.
2.
在接下来的两节中将会介绍两种具体的核函数,多项式核函数和高斯径向基核函数。

4.3多项式核函数

多项式核函数的定义如下:
                                                                                   (4.16)
在上式中的d为大于等于2的整数,我们已知4.1小节中提到的核函数,其中,并且这个核函数可通过给定的特征空间中的内积形式来表示如下:

正如之前所提到的,对于一个核函数,其对应的特征空间H和特征映射并不数惟一的,例如,对于核函数可以设定一个替代的四维特征空间和相应的特征映射:

对于一个多项式核函数,指数d定义了x,z所属的空间的维度,则显然存在一个特征空间H其坐标对应着变量的d次方所形成的所有的单项式(it is convenient to consider feature space H with coordinates corresponding to all ordered monomials of variables x1,x2,…,xn of degree d),因为有:
                    (4.17)
在上式中,特征映射被定义为从向量到所有可能的项的映射(其中的的取值均从1到n独立变化),在这种情况下单项式的数量等于从n个元素中可重复的选取d个元素的方法数,所以其特征空间* H*的维度为:

多项式核函数的更加广义的表达形式如下:
                                                                                                         (4.18)
在上式中,利用二项式定理可以将公式(4.18)转换为类似公式(4.17)的形式,因此可以得出结论对于多项式核函数,其特征映射映射到指数不超过d的所有可能的单项式的向量中。
最后,我们可以定义多项式核函数的最一般的形式如下:
                                                                                                         (4.19)
在上式中,其中,即为公式(4.18)等号的右半部分乘以一个常数。
下图展示了在二维实数空间中利用几种多项式核函数SVM将两类数据点分开的热图(Heatmaps:类似于红外线热量图的一种图片吧,直观的显示了SVM的分类效果),在热图中所有的点都根据如下的decision function的值呈现不同的颜色,
                                                                                     (4.20)
这里写图片描述
公式(4.20)即为前文所述decision function(4.14)的核心部分,当(4.20)的值为正时标记为桔黄色,同时代表着该点被分类为‘第一类’;反之则标记为蓝色,代表着该点被分类器分为二‘第二类’;当公式(4,20)的值为0时,则代表该数据点位于分类器的分离表面上(个人理解是位于margin的两条边缘上),用白色标记;可见多项式核函数基本不会大幅度的改变其分离平面的位置。

4.4高斯径向基核函数

高斯径向基(GRBF)核函数,也称为简单高斯核函数,定义如下:
                                                                                                   (4.21)
其中,有时上式上还可以被写为如下形式:

上式中,类似于高斯概率密度函数,当* x** z*为实数并且* z*为定值时,函数的形状为以* z*为中心的钟形其宽度与或者的值相关,如下图所示。
这里写图片描述
任何高斯核函数对应的特征空间都是半正定的,因为对于任意的不同向量组成的集合,矩阵均为非奇异矩阵,这就代表着向量之间是线性无关的。对于高斯核函数来说,其对赢的特征空间* H*比多项式核函数更加难以解释,我们只需知道* H*是一种无线维的Hilbert空间。
而带有高斯核函数的SVM分类器的分离平面是什么样的呢?当使用高斯核函数时,decesion function如下式所示:
                                                         (4.22)
已知当时其对应的为支持向量,而对于每一个支持向量,都存在一个以该向量为中心的各自的钟形表面,对于来自于正类的向量,其对应的钟形表面为“正的”即(),反之如果向量来自于负类,则其所对应的钟形表面则为负的。而整个分类器的分离表面就是上述所有支持向量的各自的钟形表面的加和。
下图为在二维实数空间中带有高斯径向基核函数的SVM分类器在区分两种类别的数据点时的表现,与上小节中的热图类似,数据点的颜色(黑白)即为数据点的分类,而背景中的橙色与蓝色代表着该点的decision function的值的分类(也可以说是对该点的预测的分类),白色的部分则代表着该点的decision function的值为0,即两种分类的分离平面。
这里写图片描述
在上图中,第一副图为每一个支持向量的宽度小于数据点之间的距离,所以这些钟形表面并不会相互影响,这样的分类平面精确的区分了训练集中所有的数据点,但是太精确了会造成overfit,在测试集中未必有好的表现,在剩余的三张图中,钟形表面的宽度不断的增加,并且开始相互影响,在这种情况下形成的分离平面有更好的预测能力,上图说明在实际运用中的取值应该位于训练集数据点最大和最小距离之间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值