机器学习技法 Lecture3: Kernel Support Vector Machine

Kernel Trick

回顾一下SVM的对偶形式。使用对偶形式的目的是为了拜托映射到新的空间之后假设空间VC维 d ^ \widehat{d} 对于算法的影响。但是进行了对偶之后发现,解对偶的SVM的时候也有跟 d ^ \widehat{d} 有关的计算。
在这里插入图片描述
如果使用的是简单的二次项映射,那么计算映射之后的向量内积可以使用一种简化的形式:
在这里插入图片描述
通过简单的变换我们发现能够将这个二次映射之后的内积写为一种更简单的形式,而且是需要消耗 O ( d ) O(d) 级别的计算量。

如果把这种映射变换与内积的结合形式写到一起,我们就得到了一个核函数。对应每一个不同的映射变换都有一个不同的核函数。如果我们使用上面所说的二次映射的形式,那么就能够把当初解对偶SVM问题中用到的内积都是用核函数表示:
在这里插入图片描述
特别地,因为算法的解里面将系数 w w 带入之后也能够得到一个内积形式,因此我们甚至可以不用求解系数 w w 而是直接在结果里带入核函数即可。引入了核方法,最终就消除了 d ^ \widehat{d} 的影响。

于是引入了核方法的SVM算法如下:
在这里插入图片描述
最终得到的解法里,计算复杂度只与样本量 N N 有关,而且结果里也只需要用到支持向量。

Polynomial Kernel

我们再来仔细看之前提到的二次映射以及对应的核函数。加入我们在每个一次项和二次项之前加上不同的系数,那么就能得到不同的核函数。而我们最常用的一种二次多项式的核函数如下:
在这里插入图片描述
因为这个形式的核函数容易计算,而且兼顾了系数的灵活性。

在实际的应用中,如果核函数里对应的系数发生了变化,得到的结果也会有不同程度的改变。因为系数代表的是不同映射的放缩,因此可能会导致最终得到的空间里支持向量的不同和边界的不同。
在这里插入图片描述
而且如果我们将固定的指数2改为其它的数字,常数项改为一个任意大于等于0的常数,那么就得到了一个更一般形式的多项式的核函数。
在这里插入图片描述
这样加入了多项式核函数的SVM就叫polynomial SVM。

其中一般化常数项的目的是为了把线性映射统一进来。因为当常数项为0而指数选择1的时候,那么这个结果与原来的线性SVM是一样的。一般来说我们还是需要优先选择线性方法。
在这里插入图片描述

Gaussian Kernel

多项式核函数对应的变化可能有着不同的维度,而实际上我们甚至可以计算出无限维度情况下对应的核函数。如果核函数是一个指数形式,那么可以看做是一种无限维度映射所对应的核函数。
在这里插入图片描述
这样的核函数叫做高斯核函数。而这样的核函数得到的结果如下图推导:
在这里插入图片描述
这个结果的意义相当于是以每个支持向量x为中心的高斯分布的线性组合。而高斯核又叫做RBF核。所以高斯SVM方法得到的结果就相当于找到支持向量 x n x_{n} 和对应的系数 α n \alpha_{n} 并且在无限维度的空间中找到一个最大的margin。

加入了核函数方法的SVM算法相当于是在利用核方法进行高维映射之后的空间里找到间隔最大的分隔面。与原来的方式相比有两点变化:1.把原来需要明确写出的映射函数改为用核方法隐式表示。 2.把原来需要求解的w改为存储支持向量和对应的系数。
在这里插入图片描述
而对于高斯SVM算法来说,虽然映射到了无限维空间,但是算法的泛化性能还是能够通过最大化margin来保证。
在这里插入图片描述
下面来看几个实际使用高斯核的SVM算法的例子:
在这里插入图片描述
从图上我们可以看出系数 γ \gamma 可以很大程度地影响算法的泛化性能。回忆起高斯SVM的结果是以支持向量为中心的高斯分布的线性组合,而越大的系数 γ \gamma 对应着越尖的高斯分布,因此越大的 γ \gamma 一般就越容易过拟合。
在这里插入图片描述

Comparison of Kernels

最后来分析一下不同核方法的优劣。首先是线性核:
在这里插入图片描述
优点是安全快速可解释,缺点是有时候解决不了复杂情形。但是一般还是记得从线性情况开始做起。

在这里插入图片描述
对于多项式核来说,优点是比线性情况更强大,能够解决复杂一些的问题,而且能够通过Q来进行比较强的物理意义上的控制。但是缺点是高次指数的时候计算容易溢出,而且对应的系数太多很难调参。

在这里插入图片描述
高斯核的优点在于它更加强大,能够处理非常复杂的情况。而且不会像多项式一样遇到溢出的问题。同时它只需要调节一个参数。但是缺点是有时候因为没法表示 w w 而难以解释。计算起来比线性的慢,而且容易过拟合。但是高斯核也是一个最受欢迎的方法。

除了这三种核方法之外,还有很多其它类型的核函数。核函数本身需要表示的是一个空间映射之后的内积。但是如论如何这些核函数需要满足两个条件,一个就是需要具有对称性,即 K ( x , y ) = K ( y , x ) K(x,y)=K(y,x) 。另外一个就是当它的结果组成一个矩阵时必须是半正定的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_25037903/article/details/84398676