非线性支持向量机对于线性分类问题,线性分类支持向量机是一种非常有效的方法。然而,一些分类问题是非线性的。这时候可以使用非线性支持向量机来解决分类问题。它的主要特点是使用内核技巧。下面通过一个大众化的小栗子来介绍内核技巧。kernelmethod和kerneltechnique假设一个二维平面上有4个点,两个红点和两个绿点,这4个点位于一条直线上,如下:对于这个问题,我们不能用直线线来准确的将红点和绿点分开,但是可以用一条曲线来实现分类,如下:这时候我们可以改变我们固有的思维,如果把二维平面映射到三维空间,一类点在纵轴上或下,所以不能用超平面将它们分开!如下:现在只需要考虑一个问题,就是如何实现同一类别在纵轴上同时增加或减少的操作。回到原来的二维平面,如果把这些点加到坐标轴上,会不会有函数图像可以把它们分开呢?(x,y)(0,3)(1,2)(2,1)(3,0)xy0220这里用一个函数$xy$来区分两类点。可以看出,红点的横纵坐标的乘积为0,即$xy=0$,绿点的横纵坐标的乘积为2,即$xy=2$,那么利用曲线$xy=1$就可以对这两类点进行准确的分类!如下:其中$xy=1$就是我们非常熟悉的反比例函数$y=\frac{1}{x}$。解决了二维平面的问题,再映射到三维空间就可以解决上面提出的问题。$xy=1$计算出的新值可以作为该点在三维空间的z轴坐标,绿色点可以沿z轴正方向升高,两种类型ofpoints可以使用超平面进行分类,如下:上面的Chestnuts也叫异或问题,解决这个问题的思路是核法。这个栗子表明,用线性分类方法解决亚线性分类问题大致可以分为两个步骤:首先,使用变换将原始空间中的数据映射到新空间;然后使用线性分类学习方法对新空间中的数据进行分类,核技术就属于这样一种方法。核技术的基本思想是将输入空间通过非线性变换映射到特征空间,使输入空间的超曲面模型对应特征空间的超平面模型,从而解决分类问题通过在特征空间问题中使用线性支持向量机。核函数知道核技术的基本思想后,我们就可以处理之前得到的对偶问题,即通过输入空间到特征空间的映射,$x_i\to\phi(x_i),x_j\to\phi(x_j)$,如下:如果按照这种方法求解问题,必须在特征空间中求$\phi(x_i)$和$\phi(x_j)$的内积,但是特征空间的维数往往比较大,使得内积的计算极其复杂。还有另一种方法可以简化此解决方案吗?假设有一个二维平面,我们需要将它映射到三维特征空间,那么二维平面上的两类样本点分为$(x_1,x_2)$和$(x_1^*,x_2^*)$;那么在三维特征空间中,可以用$(z_1,z_2,z_3)$和$(z_1^*,z_2^*,z_3^*)$来表示两类点。如果要对三维特征空间进行内积运算,可以进行如下推导,可以看出三维特征空间中的内积可以用二维特征空间的内积来表示平面,得到的函数称为核函数。因此,对于每一个映射到特征空间的函数,都可以找到对应的核函数来优化其运行,表达式也可以做相应的改变,如下:在此基础上,可以理解核函数的定义,令$\chi$是输入空间,设$H$是特征空间(希尔伯特空间),如果存在从$\chi$到$H$的映射$$\phi(x):\chi\to{H}$$使得所有$x,z\in\chi$,函数$K(x,z)$满足条件$$K(x,z)=\phi(x)\cdot\phi(z)$$调用$K(x,z)$核函数,$\phi(x)$调用映射函数,其中$\phi(x)\cdot\phi(z)$为$\phi(x)$和$\phi(z)$的内积。综上所述,如果有一个非线性分类问题需要解决,我们不需要计算相应特征空间中的内积,只需要找到非线性分类问题对应的核函数,代入输入空间到核函数中,就可以找到这个问题的解法。因此,“核函数的选择”成为支持向量机的最大变数。如果核函数选择不合适,意味着样本被映射到不合适的特征空间,可能导致分类效果不佳。而$\phi(x)$只是起到一个中间过渡的作用,并没有实际意义。下图展示了几种常用的核函数,其中高斯核函数最为重要,也称为径向基核函数。正定核在已知的映射函数$\phi$中,核函数$K(x,z)$可以通过$\phi(x)$和$\phi(z)$的内积得到,但是这个过程比较复杂,能不能直接判断给定的函数是不是核函数呢?或者一个函数需要满足什么条件才能成为核函数?我们通常所说的核函数称为正定核函数。我们先来了解一下正定核的两个概念。首先,如果输入空间$\chi$和特征空间$H$之间的关系是$\phi$$$K:\chi\times\chi\toR$$$$\forall(x,z),我们有K(x,z)$$$$\exists\phi使得K(x,z)=<\phi(x)\cdot\phi(z)>$$,然后是$K(x,z)$称为正定核函数。R代表数学中的实数域。二、对于输入空间$\chi$中的样本点$$K:\chi\times\chi\toR$$$$\forall(x,z),有K(x,z)$$若$K(x,z)$满足对称性和正定性,则称$K(x,z)$为正定核函数。概念1很容易理解,在上一篇文章中也有应用,所以这里着重介绍概念2。概念2的对称性:$$K(x,z)=K(z,x)$$由于内乘积运算是对称的,核函数包括内积运算,核函数是对称的。正定性是指对于任意$x_i\in\chi,i=1,2...n$,$K(x,z)$对应Gram矩阵$$K=[K(x_i,x_j)]_{n\timesn}$$是半正定矩阵。如果对称性成立,那么正定性是核函数为正定核的充要条件,即$$K(x,z)=\phi(x)\cdot\phi(z)\iffGram矩阵半正定$$的详细过程可以参考《统计学习方法》P121-122。这里只给出必然性的证明。要证明一个矩阵是半正定的,只需要证明矩阵中的每个特征值都大于等于0即可。在已知条件下,对于任意$c_1,c_2...c_n\inR$,若有如下等式:说明$K(x,z)$关于$x_i$的Gram矩阵是半正定的。总结对于分类问题,可以使用核技术将线性分类的学习方法应用于非线性分类问题。将线性支持向量机推广到非线性支持向量机,只需要将线性支持向量机对偶问题中的内积利用率转化为核函数即可。至此,SVM中的三重区间对偶核函数介绍完毕。关注公众号[奶糖猫]获取每篇文章的源码和数据,欢迎各位小伙伴与博主交流。
