在机器学习领域,有一个备受瞩目的概念——Kernel(核函数)

Kernel的本质:

Kernel是机器学习中的一个关键组件,其作用类似于一个"解谜者",通过巧妙的数学运算揭示数据中的潜在结构。就像三棱镜可以分离出光谱中的各种颜色一样,Kernel能够将数据中的复杂信息进行拆解和映射,从而为算法提供更多的认知维度。

核函数的工作原理:

核函数的工作方式与三棱镜的分光原理有着相似之处。三棱镜通过折射和反射将入射光分解成不同波长的光谱,而核函数通过数学变换将原始数据映射到高维空间,揭示出在低维度中难以察觉的特征。这种映射过程有助于算法更好地理解数据的复杂性和内在关系。

Kernel的多样性:

与实验室中使用不同类型的光学元件来实现不同实验目的一样,机器学习中也存在多种核函数可供选择。例如,线性核函数、多项式核函数和高斯核函数等,它们各自具有特定的数学形式和适用范围。选择合适的核函数是机器学习中一个关键的决策,直接影响算法的性能和对数据的理解能力。

应用领域:

Kernel在支持向量机(SVM)等算法中得到广泛应用。通过在输入数据上应用核函数,这些算法可以更灵活地处理非线性关系,并提高对复杂数据结构的建模能力。这使得Kernel成为处理实际问题中高度非线性数据的有力工具。

1、SVM中的例子

Kernel 在我的知识中,最早是在 SVM 中开始被使用的。

举个 SVM 的例子,在下面的数据中分别使用了线性 SVN
与带 RBF(Radial Basis Function) 核的 SVF,你可以很容易看出 Kernel 是带 RBF 的略好一些,因为在线性空间不容易处理的问题,在高维空间可能就是存在一个很方便的解。
在这里插入图片描述它很简单,但是能明显的看到应用kernel 函数把数据映射到高维空间后,更有可能找到一个超平面,来把数据分割开。

2、PCA 算法中的 Kernel 应用

做为前机器学习时代的主力算法,PCA 是大家所熟知的。

看看下面的例子吧。一个三维空间的数据是很难做分类的,但是靠个rbf核
降维到二维空间,是不是感觉能动手了?
在这里插入图片描述
3、CNN领域的Kernel
其实Kernel这东西在CNN里也是有极多应用的。或者说CNN的核心就是一个小结构Kernel, 一个大结构整个Layers间加了个残差连接Q或者做个UNet结构°。
CNN的Kernel是直接景影响整个网络的性能的。如果用可视化来看,Kernel正是一个标准的操 作,把原始数据Q映射到不同的数据空间,类似于一个Filter的概念,它会分别提取边缘、纹理等 特征,再做了最后的判断。

import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
#创建一个简单的示例图像
image np.array([[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,28],
[21,22,23,24,25])
#创建一个简单的卷积核Q
kernel np.array([[1,0,-1],
[1,0,-1],
[1,9,-1])
#使用2D卷积(无填充,步长为1)
output signal.convolve2d(image,kernel,mode='valid')
#可视化原始图像、卷积核和卷积结果
fig,axarr plt.subplots(1,3,figsize=(15,5))
axarr[e].imshow(image,cmap='gray')
axarr[0].set_title('Original Image')
axarr[0].set_axis_off()
axarr[1].imshow(kernel,cmap='gray')
axarr[1].set_title('Kernel')
axarr[1].set_axis_off()
axarr[2].imshow(output,cmap='gray'
axarr[2].set_title('Convolution Result')
axarr[2].set_axis_off()
plt.show()

4、 Transformer的Kernel

在Transformer里,它是没有唯一的一个类似CNN的Kernel的,它的结构最像Kenel功能的应该是QKV的三个权重与FeedForward这个权重,只不过这个Kernel为了兼容数据的位置信息,把窗口做成了全输入这么大,也就是每个Kernel都是一个全尺寸的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值