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

Kernel的本质:

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

核函数的工作原理:

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

Kernel的多样性:

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

应用领域:

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

1、SVM中的例子

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

举个 SVM 的例子,在下面的数据中分别使用了线性 SVN
与带 RBF(Radial Basis Function) 核的 SVF,你可以很容易看出 Kernel 是带 RBF 的略好一些,因为在线性空间不容易处理的问题,在高维空间可能就是存在一个很方便的解。
在机器学习领域,有一个备受瞩目的概念——Kernel(核函数)_第1张图片它很简单,但是能明显的看到应用kernel 函数把数据映射到高维空间后,更有可能找到一个超平面,来把数据分割开。

2、PCA 算法中的 Kernel 应用

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

看看下面的例子吧。一个三维空间的数据是很难做分类的,但是靠个rbf核
降维到二维空间,是不是感觉能动手了?
在机器学习领域,有一个备受瞩目的概念——Kernel(核函数)_第2张图片
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都是一个全尺寸的。

你可能感兴趣的:(机器学习,机器学习,支持向量机,人工智能,学习,经验分享,笔记,学习方法)