基函数、核函数与Kernel trick

文章目录

  • [1. 什么是基函数](#1. 什么是基函数)
  • [2. 什么是核函数(kernel function)](#2. 什么是核函数(kernel function))
    • [2.1 简单直观理解](#2.1 简单直观理解)
    • [2.2 深入理解核函数](#2.2 深入理解核函数)
    • [2.3 核函数与内核空间定义](#2.3 核函数与内核空间定义)
  • [3. 常用一些核函数](#3. 常用一些核函数)
    • [3.1 线性核函数](#3.1 线性核函数)
    • [3.2 多项式核函数](#3.2 多项式核函数)
    • [3.3 径向基函数(RBF)/高斯核函数](#3.3 径向基函数(RBF)/高斯核函数)
  • [4. 理解误区------核函数就是映射函数](#4. 理解误区——核函数就是映射函数)
  • References

1. 什么是基函数

基函数是在函数空间中的一组基础函数,构成函数空间的基本单元,可以用来表示其他函数,类似于向量空间中的基向量。

作用是线性组合以逼近复杂函数,显式地构建函数表达。

常见的基函数有:

  • 指数基函数: b i ( x ) = e a i x bi(x) = e^{ai x} bi(x)=eaix
  • 指数幂基函数: b i ( x ) = ( e a i x ) p bi(x) = (e^{ai x})^p bi(x)=(eaix)p
  • 正弦基函数: b i ( x ) = sin ⁡ ( a i x ) bi(x) = \sin(ai x) bi(x)=sin(aix)
  • 余弦基函数: b i ( x ) = cos ⁡ ( a i x ) bi(x) = \cos(ai x) bi(x)=cos(aix)
  • 多项式基函数: b i ( x ) = x p b_i(x) = x^p bi(x)=xp
  • 高斯基函数: b i ( x ) = e − ( x − a i ) 2 / 2 σ 2 bi(x) = e^{-(x - ai)^2 / 2 \sigma^2} bi(x)=e−(x−ai)2/2σ2

这些基函数可以组合起来构成更复杂的函数,以适应不同的数据分布和特征关系。


2. 什么是核函数(kernel function)

2.1 简单直观理解

简单来说,核函数就是距离函数。

就是输入任意两个点的坐标,核函数就可以输出他们的距离。

为什么定义核函数?之所以要把核函数单独定义出来,是因为在不同场景下,会定义不同的距离,即不同核函数提取了不同的特征。

如果单纯应用核函数的话,了解到这里就足够了。


2.2 深入理解核函数

理解:核函数的作用是将数据从原始空间映射到更高维空间。

假设我们总能使用点积的形式来计算两个向量之间的距离:
< a , b > = a ⋅ b = ∣ a ∣ ⋅ ∣ b ∣ ⋅ c o s θ . <\mathbf{a},\mathbf{b}>=\mathbf{a} \cdot \mathbf{b}=|\mathbf{a}|\cdot |\mathbf{b}| \cdot cos \theta. \quad\quad\quad <a,b>=a⋅b=∣a∣⋅∣b∣⋅cosθ.

然而,考虑下面一组点,其中一些位于圆心附近,一些位于圆的边缘。如果只使用点积,我们无法有效地区分这两组点。

这时,高斯核函数就显得非常有用,其可以有效地区分这些点。其相当于将原始数据由二维变换到三维空间中,在三维空间中,变成了线性可分的问题,只需要一个平面就能划分。具体的高斯核函数在3.3节介绍。

然而,现在面临一个问题:径向基函数不符合点积的形式。在不改变我们对点积形式的基本假设的情况下,如何实现高斯核函数的效果呢?

答案在于将原始的二维数据映射到一个更高维的空间,在这个高维空间中,数据点之间的点积刚好对应于高斯核的形式!
即,总存在一种将原始数据空间映射到更高维空间的方法,这样在更高维空间中,两个数据点的点积就等同于高斯核函数。


2.3 核函数与内核空间定义

如图所示,图1为在当前二维空间下线性不可分的情况,我们将其变换到三维空间,在这个空间中,变为了线性可分问题,如图2所示。这个线性平面,返回到原空间就是一个形状类似椭圆的决策边界(图3),从而找到了原空间的非线性分类边界。

内核策略(kernel trick)主要用于将非线性问题转化为线性问题

基本思想是将输入空间的数据映射到高维特征空间,使得原本在低维空间中不可分的问题在高维空间中变得线性可分。

核心 在于使用核函数(kernel function) 来计算数据点在高维空间中的内积(距离),从而避免了显式地将数据映射到高维空间,大大节省了计算资源。

假设有一个映射函数 Φ = X → H \Phi =\mathcal{X} \to \mathcal{H} Φ=X→H,将输入空间 X \mathcal{X} X 中的数据点映射到特征空间 H \mathcal{H} H。

在特征空间中,数据点之间的相似度可以通过内积 ⟨ Φ ( x ) , Φ ( y ) ⟩ \left \langle \Phi(x),\Phi(y) \right \rangle ⟨Φ(x),Φ(y)⟩ 来度量。

然而,直接计算映射 Φ \Phi Φ 可能是非常昂贵的,尤其是在特征空间维度极高时。

因此,核函数 κ : X × X → R \kappa : \mathcal{X} \times \mathcal{X} \to \mathbb{R} κ:X×X→R 定义为: κ ( x , y ) = ⟨ Φ ( x ) , Φ ( y ) ⟩ \kappa(x,y)=\left \langle \Phi(x),\Phi(y) \right \rangle κ(x,y)=⟨Φ(x),Φ(y)⟩

它允许我们在不显式地计算 Φ ( x ) \Phi(x) Φ(x) 的情况下,直接计算映射后数据点的内积


3. 常用一些核函数

3.1 线性核函数

κ ( x , y ) = ⟨ x , y ⟩ \kappa(x,y) = \left \langle x,y \right \rangle κ(x,y)=⟨x,y⟩

3.2 多项式核函数

κ ( x , y ) = ( γ ⟨ x , y ⟩ + r ) d \kappa(x,y) = (\gamma \left \langle x,y \right \rangle + r)^d κ(x,y)=(γ⟨x,y⟩+r)d

其中, γ \gamma γ是内积的缩放函数, r r r 是偏置项, d d d 是多项式的阶数。

3.3 径向基函数(RBF)/高斯核函数

κ ( x , y ) = exp ( − ∥ x − y ∥ 2 2 σ 2 ) = exp ( − γ ∥ x − y ∥ 2 ) \kappa(x,y)=\text{exp}(-\frac{\|x-y\|^2}{2\sigma^2})=\text{exp}(-\gamma \|x-y\|^2) κ(x,y)=exp(−2σ2∥x−y∥2)=exp(−γ∥x−y∥2)

其中 σ \sigma σ是宽度参数,决定了高斯核的平滑程度。即 γ \gamma γ 参数决定了数据映射到高维空间中的"紧密程度"。参考取值为所有数据距离的中位数。

径向基函数可以将数据点映射到无限维的特征空间,适用于处理非线性关系。


4. 理解误区------核函数就是映射函数

【e.g.】举个简单的例子,如图所示,一维数据线性不可分,增加一维变为 x 2 x^2 x2,就变为线性可分了。

这里的 x 2 x^2 x2 是核函数还是映射函数?答案是映射函数。

再回顾一下核函数的定义,核函数是计算数据点在高维空间中的内积(距离) ,从而避免了显式地将数据映射到高维空间,大大节省了计算资源。

也就是说,核函数不会 将低维不可分数据映射为高维数据,即不需要生成映射数据,不用知道具体的映射函数是什么,而是直接生成 等同于映射为高维数据点之间的内积结果

核函数和映射函数没有关系!核函数只是用来计算映射到高维空间之后数据间内积的一种简便方法。

只要核函数满足一定条件,那么映射空间一定存在。


References

  1. 基函数与函数内积: 高级概念解析
  2. 核函数介绍
  3. 高斯核函数背后的哲学思想与数学思想
  4. 内核策略(Kernel Trick)
  5. 核函数(多项式,高斯核)以及svm解决回归问题
相关推荐
龙的爹233323 分钟前
论文翻译 | RECITATION-AUGMENTED LANGUAGE MODELS
人工智能·语言模型·自然语言处理·prompt·gpu算力
白光白光23 分钟前
凸函数与深度学习调参
人工智能·深度学习
sp_fyf_202426 分钟前
【大语言模型】ACL2024论文-18 MINPROMPT:基于图的最小提示数据增强用于少样本问答
人工智能·深度学习·神经网络·目标检测·机器学习·语言模型·自然语言处理
weixin_5436628628 分钟前
BERT的中文问答系统33
人工智能·深度学习·bert
爱喝白开水a31 分钟前
Sentence-BERT实现文本匹配【分类目标函数】
人工智能·深度学习·机器学习·自然语言处理·分类·bert·大模型微调
Jack黄从零学c++1 小时前
opencv(c++)---自带的卷积运算filter2D以及应用
c++·人工智能·opencv
封步宇AIGC1 小时前
量化交易系统开发-实时行情自动化交易-4.2.3.指数移动平均线实现
人工智能·python·机器学习·数据挖掘
Mr.谢尔比1 小时前
李宏毅机器学习课程知识点摘要(1-5集)
人工智能·pytorch·深度学习·神经网络·算法·机器学习·计算机视觉
我是博博啦1 小时前
matlab例题
人工智能·算法·matlab
DieYoung_Alive1 小时前
一篇文章了解机器学习
人工智能·机器学习