核函数的理解



核函数定义

本文大致讲解核函数的定义,限制,使用等
机器学习中,对于线性可分的情况研究的比较透彻,可以采用svm/lr/感知机等成熟的机器学习模型,但是很多情况是我们希望我们的模型学习非线性的模型。通常的做法就是选择一个函数ϕ(x) ϕ(x)x x映射到另一个空间中,这里的核心就是如何选择ϕ(x) ϕ(x).一般有三种做法
1)通过核函数,比如RBF。如果 φ(x) 具有足够高的维数,我们总是有足够的能力来拟合训练集,但是对于测试集的泛化往往不佳。非常通用的特征映射通常只基于局部光滑的原则,并且没有将足够的先验信息进行编码来解决高级问题。
2)另一种选择是手动地设计 φ,在深度学习以前,这种方法对于每个单独的任务都需要人们数十年的努力,从业者各自擅长特定的领域(如语音识别或计算机视觉),并且不同领域之间很难迁移 (transfer)。
3)深度学习方式是去学习这个函数ϕ(x) ϕ(x)
上面这段话来自《深度学习》

假设X是输入空间,H是特征空间,存在一个映射ϕ ϕ使得X中的点x能够计算得到H空间中的点h

h=ϕ(x) h=ϕ(x)

对于所有的X中的点都成立,x,z是X空间中的点。函数k(x,z)满足条件:
k(x,z)=ϕ(x)ϕ(z) k(x,z)=ϕ(x)⋅ϕ(z)

都成立,则称k为核函数,而 ϕ ϕ为映射函数。
举个例子,如下图所示:
这里写图片描述
特征空间在三维空间中,原空间在二维,我们定义映射函数为, x=(x 1 ,x 2 ) x=(x1,x2)
ϕ(x)=(x 2 1 ,2   x 1 x 2 ,x 2 2 ) ϕ(x)=(x12,2x1⋅x2,x22)

那么如图所示:
原始空间的点x到特征空间的点为:
(x 1 ,x 2 )(z 1 ,z 2 ,z 3 )=(x 2 1 ,2   x 1 x 2 ,x 2 2 ) (x1,x2)⇒(z1,z2,z3)=(x12,2x1⋅x2,x22)

同时我们可以验证,
ϕ(x)ϕ(z)=(xz) 2 =k(x,z),k(x,z)=(xz) 2  ϕ(x)⋅ϕ(z)=(x⋅z)2=k(x,z),如果我们取k(x,z)=(x⋅z)2

我们要进行高维空间的线性可分,首先要将原始空间的点通过函数ϕ ϕ映射到特征空间中,然后学习,而所谓的学习,其实就是要计算高维空间的点的距离和夹角。那么能不能不通过映射函数而直接使用核函数计算高维空间的点的距离以及夹角呢?
答案是可以的,核函数的技巧就是不显示的定义映射函数,而在高维空间中直接使用核函数进行计算。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值