趋近智
支持向量机 (SVM) 为分类问题提供了一种强大且通用的方法。与逻辑回归等主要侧重于寻找决策边界的算法不同,SVM 采用了一种独特策略:它们旨在识别不同类别之间最优的决策线或超平面。这个最优超平面被定义为到任一类别最近数据点的距离(即间隔)最大化的那个。
设想你有一些数据点,它们属于二维平面上的两个不同类别。你想要画一条直线来分离这两个类别。你可能会画出许多条可能的线。哪一条是最佳的呢?
SVM 通过寻找一条尽可能远离两个类别中最近的点的线来回答这个问题。这条分离线(超平面)到最近点的距离称为间隔。产生最大间隔的超平面被认为是最佳的。这通常被称为最大间隔超平面。
为什么要最大化间隔?从直观上看,较大的间隔表明类别之间有更可靠的分离。具有大间隔的决策边界对数据中的微小扰动不太敏感,并且可能在新数据上表现更好。
通常,对于一个 n 维特征空间,分隔器是一个 (n−1) 维超平面。
最接近最大间隔超平面(正好在间隔边缘上)的数据点被称为支持向量。它们是数据集中重要的数据点,因为它们“支撑”或确定了超平面。如果你移动任何一个支持向量,最佳超平面的位置可能会改变。相反,移动不是支持向量(并且远离间隔)的数据点不会影响超平面,只要它们不越过间隔边界。这个特性使得 SVM 内存高效,特别是在高维空间中,因为模型定义只依赖于这些少数支持向量。
我们来将这个想法在二维空间中呈现:
这个图表展示了两类数据点。实线表示由 SVM 找到的最大间隔超平面。虚线指示了间隔边界,而位于这些虚线上的点是支持向量(用空心圆圈高亮显示)。
上述想法在数据线性可分时表现良好,这意味着你可以画一条直线(或超平面)来完美分离这些类别。但如果数据不是线性可分的怎么办?
考虑呈同心圆排列的数据。没有一条直线可以分离内圈和外环。SVM 使用一种巧妙的技术来处理这个问题,通常称为核技巧。
核心思路是将原始特征转换到一个更高维度的空间,在那里数据可能变得线性可分。想象将二维同心圆数据投影到三维空间中,使得内圈点的高度与外环点不同。在这个新的三维空间中,你可能可以用一个简单的平面(三维空间中的超平面)来分离这些类别。
核函数计算数据点在这个可能非常高维的特征空间中的点积,而无需实际计算该空间中点的坐标。这使得计算过程高效。常见核函数包括:
通过使用核函数,SVM 可以学习复杂的非线性决策边界。
支持向量机在高维空间中特别有效(特征数量很多,甚至多于样本数量),并且由于它们依赖于支持向量而内存高效。下一节将详细说明如何使用 Scikit-learn 的 SVC(支持向量分类器)估计器实现 SVM 分类器,使你能够实际运用这些知识。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造