核函数粗浅的理解

核函数的定义
设 \mathbb{X} 是 \mathbb{R}^n 中的一个子集,称定义在 \mathbb{X}\times\mathbb{X} 上的函数 k(x,y) 是核函数,如果存在一个从 \mathbb{X} 到希尔伯特空间(特征空间) \mathbb{H} 的映射 \phi \ \begin{aligned} \phi : \xi\mapsto\phi(\xi)\in\mathbb{H} \end{aligned}\

使得对任意的 x,y\in\mathbb{X} ,
k(x,y)=(\phi(x),\phi(y))=\phi(x)^T\phi(y)\

都成立。

具体例子
假设 A=(1, 2)^T、B=(3,4)^T,构造一个映射 \phi(\cdot)=(x_1^2,\sqrt{2}x_1x_2,x_2^2)^T,则可知 \begin{aligned} &\phi(A)=(1,2\sqrt{2},4)^T\ &\phi(B)=(9,12\sqrt{2},16)^T \end{aligned}\

因此通过映射 \phi(\cdot) 将点 A、B 从二维平面升维到三维空间。然后计算 \begin{aligned} \phi(A)^T\phi(B)&=1\times9+2\sqrt{2}\times12\sqrt{2}+4\times16\ &=9+48+64\ &=121 \end{aligned}\

上述运算是在映射后的高维空间下做内积,那么是否能直接在原始的空间中进行相应的运算,使得低维情况下的运算结果等于高维情况下的运算结果呢?答案是肯定的可以通过核函数 k(x,y)=(x^Ty)^2 来实现 \begin{aligned} k(A,B)&=(A^TB)^2\ &=(1\times3+2\times4)^2\ &=121 \end{aligned}\

是不是很神奇,低维空间和高维空间居然通过核函数巧妙的联通起来了,这样做最大的优点是避免了维度灾难,也就是说高维空间中的运算计算量很大呈指数级别复杂度,难以解决;低维空间中的运算计算量很小但是两者的最终结果是一致的。例如上述计算过程,高维空间中执行了11次乘法运算、2次根号运算和2次加法运算,低维空间中仅执行了3次乘法运算和1次加法运算,要知道这才二维空间映射到三维空间如果映射到 n 维空间呢?

小结
核函数是二元函数,输入是映射之前的两个向量,其输出等价于两个向量映射之后的内积。对于 \phi(\cdot) 你并不需要知道具体对应哪种映射,表达式是什么,你需要知道的是核函数肯定对应于某一种映射 \phi(\cdot) 即可。

https://zhuanlan.zhihu.com/p/47541349

转载于:https://blog.51cto.com/yixianwei/2328934

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值