支持向量机(SVM):从原理到实践
1. 核函数与线性可分性
在机器学习中,支持向量机(SVM)是一种强大的分类算法。有时候,二维数据可能无法直接线性分离,这时可以通过添加维度的方式来实现线性可分。例如,将二维数据通过添加一个 z 维度投影到三维空间,这种核变换在特定数据集上效果很好。
1.1 Scikit - Learn 中的核函数
Scikit - Learn 内置了几种通用的核函数:
| 核函数名称 | 特点 |
| ---- | ---- |
| 线性核(linear kernel) | 不添加维度,适用于本身线性可分的数据,对非线性数据效果不佳 |
| RBF 核(RBF kernel) | 将 x 和 y 值投影到更高维空间,找到能清晰分离不同类别的超平面,默认情况下是 Scikit 中使用的核函数类型 |
| 多项式核(polynomial kernel) | 可以通过调整参数来模拟不同的投影效果 |
| sigmoid 核(sigmoid kernel) | 有其特定的应用场景 |
1.2 核技巧(Kernel Tricks)
核技巧是 SVM 中的一个重要概念。它允许我们在不实际计算新维度值的情况下,测量添加新维度的效果。以二维圆形数据集投影到三维空间为例:
# 假设我们有二维点 a 和 b
a = [x1, y1]
b = [x2, y2]
# 传统计算三维空间中 a 和 b 的点积
超级会员免费看
订阅专栏 解锁全文
1074

被折叠的 条评论
为什么被折叠?



