支持向量机SVM(3)

上面(2)的文章讲到:


可以这样做吗?事实上不可以,因为先转换到z空间,然后再做内积,消耗很大。那有什么办法:能不能两步同时完成,省去中间环节。

下面考虑一个2阶的多项式:



z空间做内积:




可见,结果只需要计算在x空间两个向量内积,算量减少了。将这个结果定义为核函数:




对于之前的对偶SVM问题的QP用核函数替换,如下:




经过替换后的方法我们称为核支持向量机,算法的计算过程如下:




总结如下:

第一步,计算Q矩阵

第二步,通过Qp求解器,得到系数α

第三步,求解b,根据 with SV (),这里只需要一个支持向量就能计算b,也可以用多个支持向量求平均值

第四步,返回支持向量机模型,用于预测,x是输入测试样本


通用二次多项式核函数




可见,对于特征变换我们加上一个系数,可能会得到更简单的形式,但是z空间不变,即他们的表达能力不变,为了得到更一般的形式,在一次项前面加上,在二次项前面乘上,就到了一般形式的二次多项式核



这样的转换有什么区别,或者说有什么好处?1)更容易计算,2)具有相同的能力,3)由于内积不容,可能有不同的几何特性。


γ作为一个参数,它的大小会对分类边界产生什么影响呢?看看下面不同γ的情况:



可见,γ越大,边界越复杂,支持向量也会发生变化。一般来说,γ取值不易过大,具体问题,具体对待。

将多项式核推广到更一般的情况,主要有两方面:

1)常数项用参数替代,

2)不仅仅局限于二阶的,推广到高阶的情况。于是得到不同的多项式核。




如上图,当用到10阶多项式核时,边界曲线可以很复杂。说明表达能力很强。并且这个计算完全不受限于z空间的VC维。我们把SVM+多项式核称为多项式SVM。


高斯核函数


我们有了多项式核,这些核其实都是特征变换到一个有限维度的z空间上,然后做内积。如果分两步求解我们是不可能处理无限维度的计算的,现在我们有了核的概念,直接通过原来空间计算内积,而不需要z空间,此时我们是否能处理无限维的情况呢?高斯核提供了这种可能。



最终我们得到了可以写成的内积的形式,说明了它是一个核,的表达式是无限维的,说明z空间是无限维的,因此我们得到了一个无限维的核,由于这个核函数是高斯函数的形式,我们称之为高斯核,有的地方也叫RBF核。

更一般的高斯核函数形式:







高斯核的γ选择不同,同样也会影响边界。一般来说,γ越大意味着高斯函数越瘦,可能会导致过拟合。


各种核函数比较

线性kernel

不做feature转换,直接使用。不需要使用对偶技巧,直接使用linear hard SVM解。



优点:计算效率高;结果解释性好。

缺点:需要数据线性可分


多项式核

对x进行多项式展开,一般的形式为



其中a,b,Q为常量。

优点:相比线性kernel,对数据要求没有那么严格

缺点:需要选择的系数较多;Q太大会超出一些计算机的精度,一般Q<=3。



高斯Kernel

有些资料也称为RBF(Radial Base Function)


优点:调试的系数较少;比线性和多项式更强大,几乎可以适应所有数据;不容易出现计算精度问题

缺点:无线维度无法解释;太强大,容易过拟合;计算开销大。


上面讲了几种常用的核函数,可见核函数需要具备一定的特性才能成为核函数。necessary & sufficient conditions for valid kernel:Mercer’scondition:



两个条件:

1)   对称性;

2)   构成的矩阵半正定。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值