机器学习技法-Kernel Support Vector Machine

大纲

这里写图片描述
上节课我们主要介绍了SVM的对偶形式,即dual SVM。Dual SVM也是一个二次规划问题,可以用QP来进行求解。之所以要推导SVM的对偶形式是因为:首先,它展示了SVM的几何意义;然后,从计算上,求解过程“好像”与所在维度 d̂  无关,规避了 d̂  很大时难以求解的情况。但是,上节课的最后,我们也提到dual SVM的计算过程其实跟 d̂  还是有关系的。那么,能不能完全摆脱对 d̂  的依赖,从而减少SVM计算量呢?这就是我们本节课所要讲的主要内容。

Kernel Trick

1 Dual SVM Revisited

这里写图片描述

我们在计算 zTnzm 的时候,分为两步

  • 1.进行特征转换计算 ϕ(xn) , ϕ(xm)

  • 2然后计算 ϕ(xn) ϕ(xm) 的内积

这种先转换再计算内积的方式,必然会引入 d̂  参数,从而在 d̂  很大的时候影响计算速度。那么,若把这两个步骤联合起来,是否可以有效地减小计算量,提高计算速度呢?

2 Fast Inner Product for Φ2

让我们来看一个二阶多项式转换的例子

这里写图片描述

我们可以发现,我们可以通过一定形式的转换,把计算复杂度从 O(d̂ ) ,降低到 O(d) ,虽然这只是个别例子,但它让我们看到了减少计算复杂度的希望

3 Kernel: Transform + Inner Product

我们把合并特征转换和计算内积这两个步骤的操作叫做Kernel Function,用大写字母K表示。比如上面这个二阶多项式的例子

Kϕ2(x,x)=1+(xTx)+(xTx)2

有了Kernel Function之后,我们看它是如何在SVM中发挥作用的

  • qn,m=ynymzTnzm=ynymK(xn,xm) ,我们可以通过计算 K(xn,xm) ,降低复杂度。

  • b=yswTzs=ys(Nn=1αnynzn)Tzs=ysNn=1αnyn(K(xn,xs)) ,这样b的计算复杂度就与 d̂  无关了

  • gsvm=sign(wTϕ(x)+b)=sign(Nn=1αnyn(K(xn,x))+b) ,这样我们的所求的函数就与 d̂  无关了

核技巧就是利用kernel function来避免计算过程中受d̂ 的影响,从而提高运算速度。

4 Kernel SVM with QP

通过引入Kernel function,我们可以把SVM算法改造成以下形式,并进行时间复杂度分析

这里写图片描述

Kernel SVM通过SV来得到最佳分类面,并且通过Kernel function来避免计算过程中受到 d̂  的影响,从而提高了运算速度

Polynomial Kernel

1 General Poly-2 Kernel

这里写图片描述

比较一下,第一种 ϕ2(x) (蓝色标记)和第三种 ϕ2(x) (绿色标记)从某种角度来说是一样的,因为都是二次转换,对应到同一个z空间。但是,它们系数不同,内积就会有差异,那么就代表有不同的距离,最终可能会得到不同的SVM margin。所以,系数不同,可能会得到不同的SVM分界线。通常情况下,第三种 ϕ2(x) (绿色标记)简单一些,更加常用。

2 Poly-2 Kernels in Action

这里写图片描述

不同的核对应不同的SVs和maigin.从而最佳分离超平面也不同

3 General Polynomial Kernel

更为一般的,我们可以导出Q次多项式的核函数
这里写图片描述
使用高阶的多项式

  • 可以尽可能的将数据点分开,因为有最大margin的保证,减少过拟合的风险

  • 因为使用了核技巧,所以可以大大减少计算量

4 Special Case: Linear Kernel

这里写图片描述

实践中,我们可以先尝试liner kernel.然后慢慢的增加复杂度

Gaussian Kernel

1 Kernel of Infinite Dimensional Transform

接下来我们可以考虑一种将特征映射到无限维,而不会带来多余的计算量的核函数

这里写图片描述

根据上面的公式推导,我们可以看到,通过高斯核函数,我们确实把特征映射到了无限维

2 Hypothesis of Gaussian SVM

这里写图片描述

通过上式可以看出, gSVM 有n个高斯函数线性组合而成,其中n是SV的个数。而且,每个高斯函数的中心都是对应的SV。

3 Gaussian SVM in Action

这里写图片描述

从图中可以看出,当 γ 比较小的时候,分类线比较光滑,当 γ 越来越大的时候,分类线变得越来越复杂和扭曲,直到最后,分类线变成一个个独立的小区域,像小岛一样将每个样本单独包起来了。为什么会出现这种区别呢?这是因为γ越大,其对应的高斯核函数越尖瘦,那么有限个高斯核函数的线性组合就比较离散,分类效果并不好。所以,SVM也会出现过拟合现象, γ 的正确选择尤为重要,不能太大。

Comparison of Kernels

1 Linear Kernel

这里写图片描述

Linear Kernel的优点是计算简单、快速,可以直接使用QP快速得到参数值,而且从视觉上分类效果非常直观,便于理解;缺点是如果数据不是线性可分的情况,Linear Kernel就不能使用了。

2 Polynomial Kernel

这里写图片描述

olynomial Kernel的优点是阶数Q可以灵活设置,相比linear kernel限制更少,更贴近实际样本分布;缺点是当Q很大时,K的数值范围波动很大,而且参数个数较多,难以选择合适的值。

3 Gaussian Kernel

这里写图片描述

Gaussian Kernel的优点是边界更加复杂多样,能最准确地区分数据样本,数值计算K值波动较小,而且只有一个参数,容易选择;缺点是由于特征转换到无限维度中,w没有求解出来,计算速度要低于linear kernel,而且可能会发生过拟合。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值