核函数的运用

详细的公式什么的,网络上搜索kernel function, kernel methods 有很多,我就不仔细说了,简单地说说背后的intuition。
intuition也很简单,比如我们有一个一维的数据分布是如下图的样子,你想把它用一个直线来分开,你发现是不可能的,因为他们是间隔的。所以不论你画在哪,比如绿色竖线,都不可能把两个类分开。

核函数的运用_第1张图片

但是我们使用一个简单的升维的方法,把原来一维的空间投射到二维中,x->(x, x^2)。比如:
0->(0,0) 
1->(1,1)
2->(2,4)
这时候就线性可分了

核函数的运用_第2张图片

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

核函数的运用_第3张图片

理论上,由于train set是有限的,当你把data投射到无限维度的空间上是一定可以在train set上完美分类的,至于在test set上当然就呵呵(不太清楚作者意思)了。
记得要选取合适(试试各种)kernel function来“避免过拟合”。

(来自知网整理)

参考:here

你可能感兴趣的:(机器视觉,kernel,函数)