参考1
作者:王赟 Maigo
链接:https://www.zhihu.com/question/24627666/answer/28440943
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我来举一个核函数把低维空间映射到高维空间的例子。
下面这张图位于第一、二象限内。我们关注红色的门,以及“北京四合院”这几个字下面的紫色的字母。我们把红色的门上的点看成是“+”数据,紫色字母上的点看成是“-”数据,它们的横、纵坐标是两个特征。显然,在这个二维空间内,“+”“-”两类数据不是线性可分的。
我们现在考虑核函数,即“内积平方”。
这里面是二维空间中的两个点。
这个核函数对应着一个二维空间到三维空间的映射,它的表达式是:
可以验证,
在P这个映射下,原来二维空间中的图在三维空间中的像是这个样子:
(前后轴为x轴,左右轴为y轴,上下轴为z轴)
注意到绿色的平面可以完美地分割红色和紫色,也就是说,两类数据在三维空间中变成线性可分的了。
而三维中的这个判决边界,再映射回二维空间中是这样的:
这是一条双曲线,它不是线性的。
================================================
如上面的例子所说,核函数的作用就是隐含着一个从低维空间到高维空间的映射,而这个映射可以把低维空间中线性不可分的两类点变成线性可分的。
参考2
多项式核函数
- 业务问题:怎么分类非线性可分的样本的分类?
- 内部实现:
- 对传入的样本数据点添加多项式项;
- 新的样本数据点进行点乘,返回点乘结果;
- 多项式特征的基本原理:依靠升维使得原本线性不可分的数据线性可分;
- 升维的意义:使得原本线性不可分的数据线性可分;
- 例:
- 一维特征的样本,两种类型,分布如图,线性不可分:
- 为样本添加一个特征:x ,使得样本在二维平面内分布,此时样本在 x 轴升的分布位置不变;如图,可以线性可分:
3)优点 / 特点
- 不需要每次都具体计算出原始样本点映射的新的无穷维度的样本点,直接使用映射后的新的样本点的点乘计算公式即可;
- 减少计算量
- 减少存储空间
- 一般将原始样本变形,通常是将低维的样本数据变为高维数据,存储高维数据花费较多的存储空间;使用核函数,不用考虑原来样本改变后的样子,也不用存储变化后的结果,只需要直接使用变化的结果进行运算并返回运算结果即可;
- 核函数的方法和思路不是 SVM 算法特有,只要可以减少计算量和存储空间,都可以设计核函数方便运算;
- 对于比较传统的常用的机器学习算法,核函数这种技巧更多的在 SVM 算法中使用;