问题:在低维空间线性不可分,需要映射到高维空间使其线性可分。
方法:找到这个映射P:(x,y) ->(A,B,C)
eg:P: A =
x2
B=
2√xy
C=
y2
然而在分类器寻找的过程中我们通常需要计算内积< P1,P2 >,如果遇到上面的问题,朴素的想法是首先找到映射P,然后将P1,P2计算出来,然后计算< P1,P2 >,但这样的计算量是非常大的!!
So:
一般英文文献对Kernel有两种提法,一是Kernel Function,二是Kernel Trick:即Kernel 仅仅是一种计算的技巧,比如上面的映射:
P: A = x2 B= 2√xy C= y2
其内积
<P1(x1,y1)P2(x2,y2)>
<script type="math/tex" id="MathJax-Element-1203">< P1(x1,y1) P2(x2,y2)></script> 事实上=
<(X1,Y1),(X2,Y2)>2
<script type="math/tex" id="MathJax-Element-1204">< (X1,Y1),(X2,Y2) >^2</script>,这里我们就根本不用找到P,直接可以计算出
<P1(x1,y1)P2(x2,y2)>
<script type="math/tex" id="MathJax-Element-1205">< P1(x1,y1) P2(x2,y2)></script> ,于是核函数内积平方便诞生了,
K(v1,v2)=<v1,v2>2
而且有个叫Mercer 的人给出了一个定理:
只要核函数满足一定条件,那么映射空间一定存在。
于是人们只需要找核函数而并不用找具体的映射就能计算低维到高维的分类问题了,因为分类问题只需要算内积!!