【机器学习】核函数的理解与常见核函数

在一个二维空间中,具有特征空间X和特征空间Y,当其中一个点(x, y)在这个二维平面中,如果想把它映射高维空间中,那么就需要用到核函数。

关于核函数的定义是:设 X X X是输入空间, Y Y Y是特征空间。如果存在一个从 X X X Y Y Y的映射 ϕ ( x ) : X − > Y \phi(x):X -> Y ϕ(x):X>Y,使得对于所有的向量 v 1 , v 2 ∈ X v_{1}, v_{2} \in X v1,v2X,函数 K ( v 1 , v 2 ) K(v_{1}, v_{2}) K(v1,v2)满足条件: K ( v 1 , v 2 ) = < ϕ ( v 1 ) , ϕ ( v 2 ) > K(v_{1}, v_{2}) = <\phi(v_{1}), \phi(v_{2})> K(v1,v2)=<ϕ(v1),ϕ(v2)>。其中, < v 1 , v 2 > <v_{1}, v_{2}> <v1,v2>称为内积,或者数量积,是将两个向量返回一个实数标量的二元运算,如 v 1 = ( x 1 , y 1 ) , v 2 = ( x 2 , y 2 ) v_{1} = (x_{1}, y_{1}), v_{2} = (x_{2}, y_{2}) v1=(x1,y1),v2=(x2,y2),则它们的内积 < v 1 , v 2 > = x 1 x 2 + y 1 y 2 <v_{1}, v_{2}> = x_{1}x_{2}+y_{1}y_{2} <v1,v2>=x1x2+y1y2

借用知乎上的例子:机器学习有很多关于核函数的说法,核函数的定义和作用是什么?的回答 如核函数 K ( v 1 , v 2 ) = < v 1 , v 2 > 2 K(v_{1}, v_{2}) = <v_{1}, v_{2}>^{2} K(v1,v2)=<v1,v2>2,这个核函数其实隐含着一个映射关系 P ( x , y ) = ( x 2 , 2 x y , y 2 ) P(x, y) = (x^{2}, \sqrt{2}xy, y^{2}) P(x,y)=(x2,2 xy,y2),通过这个核函数就可以直接计算它们映射的内积 < ϕ ( v 1 ) , ϕ ( v 2 ) > <\phi(v_{1}), \phi(v_{2})> <ϕ(v1),ϕ(v2)>,从而避免分开计算每个向量的映射 ϕ ( v ) \phi(v) ϕ(v)。可以验证:
< P ( v 1 , v 2 ) > = < ( x 1 2 , 2 x 1 y 1 , y 1 2 ) , ( x 2 2 , 2 x 2 y 2 , y 2 2 ) > <P(v_{1}, v_{2})> = <(x_{1}^{2}, \sqrt{2}x_{1}y_{1}, y_{1}^{2}),(x_{2}^{2}, \sqrt{2}x_{2}y_{2}, y_{2}^{2})> <P(v1,v2)>=<(x12,2 x1y1,y12),(x22,2 x2y2,y22)> = ( x 1 x 2 + y 1 y 2 ) 2 =(x_{1}x_{2}+y_{1}y_{2})^{2} =(x1x2+y1y2)2 = < v 1 , v 2 > 2 =<v_{1}, v_{2}>^{2} =<v1,v2>2 = K ( v 1 , v 2 ) = K(v_{1}, v_{2}) =K(v1,v2)

核函数的作用就是隐含着一个从低维空间向高维空间的映射关系,这样就使得在低维空间中线性不可分的两类点在高维空间中线性可分。在SVM中,遇到线性不可分的样本时,SVM就通过一个非线性映射的核函数把样本映射到一个线性可分的高维空间中,在此高维空间中建立线性函数(如二维空间的直线、三维空间的平面和高维空间的超平面)来划分样本的高维空间,此高维空间的线性分类面对应到输入样本空间的话就是一个非线性的分类面。

核函数一般有这么几类
1、线性核函数: K ( v 1 , v 2 ) = < v 1 , v 2 > K(v_{1}, v_{2}) = <v_{1}, v_{2}> K(v1,v2)=<v1,v2>
2、多项式核函数: K ( v 1 , v 2 ) = ( γ < v 1 , v 2 > + c ) n K(v_{1}, v_{2}) = (\gamma<v_{1}, v_{2}>+c)^{n} K(v1,v2)=(γ<v1,v2>+c)n
3、sigmoid核函数: K ( v 1 , v 2 ) = t a n h ( γ < v 1 , v 2 > + c ) K(v_{1},v_{2}) = tanh(\gamma<v_{1}, v_{2}>+c) K(v1,v2)=tanh(γ<v1,v2>+c)
4、高斯核函数: K ( v 1 , v 2 ) = e x p ( − ∣ ∣ v 1 − v 2 ∣ ∣ 2 2 σ 2 ) K(v_{1}, v_{2}) = exp(-\frac{||v_{1} - v_{2}||^{2}}{2\sigma^{2}}) K(v1,v2)=exp(2σ2v1v22)
5、拉普拉斯核函数: K ( v 1 , v 2 ) = e x p ( − ∣ ∣ v 1 − v 2 ∣ ∣ σ ) K(v_{1}, v_{2}) = exp(-\frac{||v_{1} - v_{2}||}{\sigma}) K(v1,v2)=exp(σv1v2)

  • 8
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值