对SVM中核函数的理解

参考文献

1.核函数(kernekl)最通俗易懂的理解
2.核函数的理解一
3.关于核函数的一些思考
4.形象透彻理解核函数
5.机器学习之核函数


一、核函数定义

设X是输入空间(欧氏空间或离散集合),Η为特征空间(希尔伯特空间),如果存在一个从X到Η的映射

φ(x): X→Η

使得对所有的x,y∈X,函数Κ(x,y)=φ(x)∙φ(y),

则称Κ(x,y)为核函数,φ(x)为映射函数,φ(x)∙φ(y)为x,y映射到特征空间上的内积。


二、核函数与映射的关系

核函数:是映射关系的内积。

映射函数本身仅仅是一种映射关系,并没有增加维度的特性,不过可以利用核函数的特性,构造可以增加维度的核函数,这通常是我们希望的。

要注意,核函数和映射没有关系。核函数只是用来计算映射到高维空间之后的内积的一种简便方法!

一般英文文献对Kernel有两种提法,一是Kernel Function,二是Kernel Trick。从Trick一词中就可以看出,这只是一种运算技巧而已,不涉及什么高深莫测的东西。

核技巧(kernel trick)的作用,一句话概括的话,就是降低计算的复杂度,甚至把不可能的计算变为可能。


三、核函数的工作原理

1.多项式核函数示例

下面举一个用polynomial kernel function次方项为2次方,截距为0 (d=2, c=0)的例子。

左图为原始空间,很明显的圆圈内是一类,圆圈是一类,此时单纯用线性分类器是无法有效分类的,因此有没有办法找到一个非线性分类器让两类可以分开。
在这里插入图片描述
这边用的kernel function比较简单:
在这里插入图片描述
此时可以经由简单的推导得到投影函数(φ),如下:
在这里插入图片描述
因此我们可以看到用polynomial kernel function将特征投影到feature space后的情况,此时已经将特征从2维空间转换到3维空间。
在这里插入图片描述
在feature kernel space时,很明显只要一个Hyperplane(线性分类)就可以完美分类,如下左图(水蓝色的平面),而其对应到原始空间(下右图)则是中间分类的那个圆圈。
在这里插入图片描述
2.RBF核函数示例

上述用的Polynomial kernel function转换成投影函数(φ)比较简单。RBF kernel function也可以经由简单的推导得到投影函数(φ),但稍为复杂一点,会用到泰勒级数(Taylor series)。

Recall: 泰勒级数是在函数f(x)在一个实数或复数a上可微分函数的power级数如下:
在这里插入图片描述
RBF kernel function会用到的泰勒级数是在:
在这里插入图片描述
这边举一个1维度的特征让大家熟悉RBF的拆解,这边熟悉后比较容易转换到高维度的想法去看:
在这里插入图片描述
后面要来说明高维度的特征怎么拆解,如果你对上面拆解很熟,你应该会意识到RBF转换到更高维度的空间是看你泰勒级数要展到几阶层,假设你特征是2维,你想在3维空间看RBF转换,泰勒级数就展开到0~2阶,投影函数(φ)的每一个element公式如下:
在这里插入图片描述
N代表第n阶。投影函数(φ)实际写出来如下:
在这里插入图片描述
这边举一个2维特征用RBF kernel function拆解出的投影函数(φ):

这边我用图示法,将2维特征投影到3维空间上,也就是泰勒级数取到2阶就好:
在这里插入图片描述


四、常用核函数形式

在这里插入图片描述


五、核函数的优缺点

1.优点:核函数带来的好处很明显,如果先要映射到高维空间然后进行模型学习,计算量远远大于在低维空间中直接直接采用核函数计算;
2.缺点:如果 φ(x) 具有足够高的维数,我们总是有足够的能力来拟合训练集,但是对于测试集的泛化往往不佳。非常通用的特征映射通常只基于局部光滑的原则,并且没有将足够的先验信息进行编码来解决高级问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值