知乎/回答
1 分钟

机器学习有很多关于核函数的说法,核函数的定义和作用是什么?

作者

创建于

修改于

发布于知乎/回答

谢邀

详细的公式什么的,网络上搜索kernel function, kernel methods 有很多,我就不仔细说了,简单地说说背后的intuition。

intuition也很简单,比如我们有一个一维的数据分布是如下图的样子,你想把它用一个直线来分开,你发现是不可能的,因为他们是间隔的。所以不论你画在哪,比如绿色竖线,都不可能把两个类分开。

但是我们使用一个简单的升维的方法,把原来一维的空间投射到二维中,x->(x, x^2)。比如:

0->(0,0)

1->(1,1)

2->(2,4)

这时候就线性可分了

再举个例子,在一个二维平面里面,这样的情况是不可能只用一个平面来分类的,但是只要把它投射到三维的球体上,就可能很轻易地分类。

理论上,由于train set是有限的,当你把data投射到无限维度的空间上是一定可以在train set上完美分类的,至于在test set上当然就呵呵了。

记得要选取合适(试试各种)kernel function来“避免过拟合”。