版权声明:版权所属秦刚刚,转载请标明出处。谢谢^_^ https://blog.csdn.net/yzcjwddbdgg/article/details/86322416
写作背景:很多时候数据在低维空间的时候很难将它们区别开来,所以需要借助核函数将其映射到高维空间中,例如谱聚类,SVM等算法。但是一开始,这其中的原理很多人不知道(例如我啦,哈哈哈),因此有了这篇简单的文章_
1.核函数的作用及意义
低维计算,高维表现
2.高斯核函数为什么能将原始空间映射为无穷维空间?
思路:从泰勒展开式的角度来解释,如下:
ex的泰勒展开式为:
ex=1+x+2!x2+3!x3+⋯+n!xn(1)
可以看到:式(1)是一个无穷多项的式子。
而高斯核函数为:
k(x1,x2)=e(−2σ2∣∣x1−x2∣∣2)(2)
将泰勒展开式带入式(2)中,可以得到一个无穷维度的映射,如下:
k(x1,x2)=1+(−2σ2∣∣x1−x2∣∣2)+2!(−2σ2∣∣x1−x2∣∣2)2+3!(−2σ2∣∣x1−x2∣∣2)3+n!(−2σ2∣∣x1−x2∣∣2)n(3)
在式(3)中,如果
σ选得很大的话,高次特征上的权值将会衰减得非常快,此时的式(3)实际上相当于一个低维的子空间;
如果
σ选得很小的话,就可将原始空间映射到任意高维的空间,即可以将任意的数据映射为线性可分。
另外,将式(3)进一步展开有:
k(x1,x2)=e(−2σ2∣∣x1−x2∣∣2) =e−2σ2(x1−x2)2 =e−2σ2x12+x22−2x1x2 =e−2σ2x12+x22σ2x1x2 =e−2σ2x12+x22⋅(1+σ211!x1x2+(σ21)22!(x1x2)2+(σ21)33!(x1x2)3+⋯+(σ21)nn!(x1x2)n)=e−2σ2x12+x22⋅(1⋅1+1!1σx1σx2+2!1σ2x12σ2x22+3!1σ3x13σ3x23+⋯+n!1σnx1nσnx2n) =ϕ(x1)T⋅ϕ(x2)(4)
其中,
ϕ(x)=e−2σ2x2(1,1!1
σx,2!1
σ2x2,⋯,n!1
σnxn)。