【可视化图解】SVM 中的径向基函数核(RBF Kernel)你真的懂了吗?
标签:机器学习、SVM、核函数、RBF、非线性分类
本文通过一张经典的手绘图(来自 Chris Albon)来深入讲解支持向量机(SVM)中的非线性核方法之一——径向基函数核(RBF Kernel) 。如果你曾疑惑“核函数到底在做什么?”“它真的能解决非线性问题吗?”,那么本文会给你一个直观、形象的答案!
一、背景知识回顾:线性 VS 非线性分类
支持向量机(SVM)最初被设计为线性分类器,也就是说,它只能通过一条直线(或超平面)来划分不同类别的样本。
但是在现实世界中,很多数据是非线性可分的。比如本文图中的数据:一堆蓝点被红点包围,怎么画直线都无法把两类分开。
这时候,核函数就登场了!
二、核方法的核心思想
我们使用核函数的主要目的是:
把数据从原始空间“映射”到一个高维空间,使得在高维空间中线性可分。
这个过程有点像魔法:
- 原始空间:数据纠缠在一起
- 高维空间:数据泾渭分明
这就是“核技巧(kernel trick)”的魅力!
三、图解 RBF 核函数的魔法过程
我们来看这张图
这幅图分为三部分,从左到右依次展示了RBF 核函数的变换过程:
原数据空间(左图)
- 蓝色点:一类数据
- 红色点:另一类数据
- 蓝点被红点包围,显然无法用一条直线分开
这是一个典型的非线性问题,线性 SVM 无能为力。
向上映射(中图)
- 通过核函数(这里是 RBF 核)将数据映射到高维空间
- 映射结果形成了一个**“凸起”的结构**(有点像一个碗)
- 红点被映射到高维空间的边缘,蓝点位于“底部”
在这个高维空间中,就可以用一个平面来把蓝红两类数据线性分开
映射回原空间(右图)
- 映射结果经过 SVM 学习后,我们把分界面投影回原始空间
- 最终形成的边界是一个非线性的“圈”
- 成功把蓝点和红点分隔开!
这就是核方法的精髓:在高维中线性分离,在原空间表现为非线性边界
四、RBF 核函数的数学表达式
图中的公式如下:
解释一下每个部分:
- :两个输入样本
- :它们之间的欧氏距离平方
- σ:控制“影响范围”的参数(越大,曲线越平滑)
可以理解为:越靠近的点,映射后越“相似”;越远的点,映射后越“区别”明显。
五、为什么选择 RBF 核函数?
RBF(Radial Basis Function)核在实际应用中非常常见,原因有以下几点:
能处理非线性问题
对维度不敏感(不怕“维度灾难”)
只有一个参数 σ,易于调优
通常能取得较好的分类效果
六、总结:RBF 核到底做了什么?
如果你还记得一句话,那就记住这句:
核函数=维度魔术
RBF核=用“距离”把点拉开或拉近,在高维中创造分界线
再复杂的非线性问题,在核技巧的帮助下,也可以迎刃而解。
附:图中左下角原文
“径向基函数是一个取值仅仅依赖于离中心点距离的实值函数,一般使用欧氏距离。”
也就是说,它是一种只看距离、不看方向的“影响函数”,适合各种类型的数据结构。
七、拓展阅读推荐
- 《机器学习》周志华:SVM 章节讲得非常清晰
- scikit-learn 官方文档:内置支持 RBF 核的 SVM(
SVC(kernel='rbf')) - Chris Albon 的可视化机器学习图集:chrisalbon.com
如果你觉得本文对你有帮助,欢迎点赞、收藏、关注我!