SVM——核函数

我们知道,SVM相对感知机而言,它可以解决线性不可分的问题,那么它是怎么解决的呢?它的解决思想很简单,就是对原始数据的维度变换,一般是扩维变换,使得原样本空间中的样本点线性不可分,但是在变维之后的空间中样本点是线性可分的,然后再变换后的高维空间中进行分类。

线性可分时:

42bcba47129a4358b8b0f86d622f8bae.png

 求的最终结果:

fd381d14eb4a4fde8594fe09bc195353.png

 其中表示任选的一个支持向量

当然这是线性可分的情况,那么如果问题本身是线性不可分的情况呢,那就是先扩维后再计算,计算形式是一样的:

48facaab3504408395dbdf8b62ab798f.png 其中192c4afa080e45df979930ec4ef51168.png表示原来的样本扩维后的坐标。

  从中可以看出,不管是不扩维的求解还是扩维的求解,在求解对偶问题的过程中都会用到各样本点的内积的结果,那么这时候问题来了,在很多情况下,扩维可能会吧原数据扩到很高维(甚至无穷维),这时候直接求内积是非常困难的,我们为了避免做这样的事就提出了核函数的概念。

核函数:任意两个样本点在扩维后的空间的内积,如果等于这两个样本点在原来空间经过一个函数后的输出,那么这个函数就叫核函数。

核函数它本质上隐含了从低维到高维的映射,从而避免直接计算高维的内积。

一般情况下,常用的几个核函数如下:

①线性核函数

2b01e9559572407e927c98d106be598c.png

②多项式核函数

d20b893c56144bb387f0c408606157cd.png

其中,γ,r,n都需要自己调参定义,比较麻烦。n默认是3,γ 默认为'auto',即1/特征维度,r默认为0.一般需要通过交叉验证选择一组合适的γ,r,n。

③高斯核函数(径像基核函数)

9703e56f106d41b3b044ea4f379f01b3.png

④拉普拉斯核函数:

a708f25ad3bf482fa3740d5c376a4fb3.png

⑤sigmoid核函数:

f07aef1e1ef04c659e920903712dcbdc.png

 一般情况下,对非线性数据使用默认的高斯核函数会有比较好的效果,如果你不是SVM调参高手的话,建议使用高斯核来做数据分析。

一般推荐在做训练之前对数据进行归一化,当然测试集中的数据也需要归一化。。

在特征数非常多的情况下,或者样本数远小于特征数的时候,使用线性核,效果已经很好,并且只需要选择惩罚系数C即可。

在选择核函数时,如果线性拟合不好,一般推荐使用默认的高斯核'rbf'。这时我们主要需要对惩罚系数C和核函数参数γ进行艰苦的调参,通过多轮的交叉验证选择合适的惩罚系数C和核函数参数γ。

理论上高斯核不会比线性核差,但是这个理论却建立在要花费更多的时间来调参上。如果调的不好,可能比线性核函数还要差。所以我们实际应用中,能用线性核函数得到较好效果的都会选择线性核函数。如果线性核不好,我们就需要使用RBF,在享受RBF对非线性数据的良好分类效果前,我们需要对主要的超参数进行选取。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值