SVM中,高斯核为什么会把原始维度映射到无穷多维?

我还是自己写一下我的理解吧,
对于高斯核为什么可以将数据映射到无穷多维,我们可以从泰勒展开式的角度来解释,

首先我们要清楚,SVM中,对于维度的计算,我们可以用内积的形式,假设函数:
\kappa \left( x_{1}, x_{2} \right) = (1, x_{1}x_{2}, x^{2}   ) 表示一个简单的从二维映射到三维。
则在SVM的计算中,可以表示为:
\kappa \left( x_{1}, x_{2} \right) = 1+x_{1}x_{2}+ x^{2}

再来看e^{x}泰勒展开式:
e^{x} \approx 1 + x +  \frac{x^{2}}{2!}  +  \frac{x^{3}}{3!}  + ... +   \frac{x^{n}}{n!}
所以这个无穷多项的式子正是对于e^{x}的近似,e^{x}所对应的映射:
\kappa \left( x \right) = \left( 1, x, \frac{x^{2} }{2!}, \frac{x^{3} }{3!}, ..., \frac{x^{n} }{n!}    \right)

再来看高斯核:
\kappa \left( x_{1} , x_{2}   \right)   = e^{\left(- \frac{\left||x_{1} - x_{2}  \right|| ^{2} }{2\sigma ^{2} }  \right) }

将泰勒展开式带入高斯核,我们得到了一个无穷维度的映射:
\kappa \left( x_{1} , x_{2}   \right)   = 1 + \left(- \frac{\left||x_{1} - x_{2}  \right|| ^{2} }{2\sigma ^{2} }  \right) + \frac{(-\frac{\left||x_{1} - x_{2}  \right|| ^{2} }{2\sigma ^{2} })^{2} }{2!} + ... + \frac{(-\frac{\left||x_{1} - x_{2}  \right|| ^{2} }{2\sigma ^{2} })^{3} }{3!} + ... + \frac{(-\frac{\left||x_{1} - x_{2}  \right|| ^{2} }{2\sigma ^{2} })^{n} }{n!}
那么,对于 x_{1}x_{2}的内积形式符合在SVM中无穷维度下的内积计算,即高斯核将数据映射到无穷高的维度。

核函数的本质

        上面说了这么一大堆,读者可能还是没明白核函数到底是个什么东西?我再简要概括下,即以下三点:
  1. 实际中,我们会经常遇到线性不可分的样例,此时,我们的常用做法是把样例特征映射到高维空间中去(如上文2.2节最开始的那幅图所示,映射到高维空间后,相关特征便被分开了,也就达到了分类的目的);
  2. 但进一步,如果凡是遇到线性不可分的样例,一律映射到高维空间,那么这个维度大小是会高到可怕的(如上文中19维乃至无穷维的例子)。那咋办呢?
  3. 此时,核函数就隆重登场了,核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数绝就绝在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就如上文所说的避免了直接在高维空间中的复杂计算。

猜你喜欢

转载自blog.csdn.net/guo1988kui/article/details/80207551