要把两种点分开,可以画无数条线,哪一条才最好?支持向量机的答案是:选出让两边都留出最大空白的那条。本文用直观语言讲清间隔、支持向量与核方法,说明它为什么在小样本高维数据上仍有价值。

核心要点

  • SVM 找的不只是一条分界线,而是让两类之间留出最宽间隔的那条。
  • 最终决定边界的只有少数离得最近的点,它们被称为支持向量。
  • 核方法把数据映射到更高维空间,从而处理弯曲缠绕的复杂边界。

最宽的那条分界线

假设纸上有红点和蓝点,要画一条线把它们分开。能完成任务的线通常有无数条,选哪条?支持向量机的回答很讲究:不选刚好分开的,选让两侧空白最宽的那条。这个宽度叫间隔。直觉上,留白越大,新来的点稍微偏一点也不会越界,模型的容错能力就越强。

这个原则背后有统计学习的道理:间隔越大,模型的有效复杂度越低,也就越不容易把训练集的噪声当成规律。这也是为什么它在小样本上常常表现不错——它追求的是稳健的边界,而不是死死贴合每一个已知点。代价则是对异常点比较敏感。

决定边界的只是少数点

有意思的是,最终那条线只由少数几个点决定:就是离分界线最近的那些,它们被叫做支持向量。把其他点随便挪一挪,只要不跨过边界,模型结果完全不变。这个性质让它的预测阶段很轻量——只需要存下这些关键样本,拿新数据和它们做比较就够了。

现实数据很少能被一条直线干净分开。为此它引入了松弛变量,允许少量点越界,但要为越界付出代价。代价系数越大,模型越不能容忍错误,边界就越贴近数据;系数越小,模型越宽容,边界越平滑。这个参数几乎是所有使用者首先要调的东西。

核方法:换个空间看问题

如果红点围成一圈、蓝点待在中心,平面上无论怎么画直线都分不开。核方法的思路是把数据抬到更高维的空间:在低维里纠缠成一团的点,投影到高维后可能就乖乖落在一个平面的两侧。巧妙之处在于,我们并不需要真的算出高维坐标,只要能计算两个点在高维里的相似度就行。

常用的核有线性核、多项式核和高斯核等,选择哪个取决于数据的形状。高斯核适应性强,在小数据集上是稳妥的默认项;数据量很大时,非线性核的计算和存储开销会迅速膨胀,这时线性核配合良好的特征工程反而更实用。核方法是它能处理复杂边界的关键。

常见问题

现在还有必要学支持向量机吗?

有必要。深度学习流行之后,它在图像、语音这类感知任务上确实少见了,但在样本量不大、特征维度高的表格数据上依然是有竞争力的选项。更重要的是,间隔最大化和核方法这两个思想,在理解其他模型时反复会用到。

本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。