支持向量机是如何工作的?

How does SVM work?

是否可以提供有关 SVM 算法工作原理的高级但具体的解释? 我所说的高层次是指它不需要深入研究所有不同类型的支持向量机的细节,参数,none。我所说的具体是指解释代数的答案,而不是单纯的几何解释。 我知道它会找到一个决策边界,将训练集中的数据点分成两个预先标记的类别。我还了解到,它将通过找到类别之间最大可能的差距并通过它绘制分隔边界来寻求这样做。我想知道的是它是如何做出这个决定的。我不是在寻找代码,而是对执行的计算和逻辑的解释。 我知道它与正交性有关,但具体步骤非常"fuzzy"到处都能找到解释。

这里 video 很好地涵盖了一种开创性的算法。对我来说最大的启示是(1)优化关键指标的 square,给我们一个总是正的值,这样最小化平方(仍然很容易区分)给我们最优的; (2) 使用简单但不太明显的 "kernel trick" 使向量分类计算更容易。

仔细观察不需要的项是如何消失的,留下 N+1 个向量来定义 N 维中的间隙 space。

我会给你一个非常小的细节,这将帮助你继续理解 SVM 的工作原理。

让一切变得简单,二维和线性可分的数据。 SVM 中的一般思想是找到一个最大化两个 类 之间的边缘的超计划。您的每个数据都是来自中心的向量。你建议一个超计划,你将你的数据向量投影到定义超计划的向量中,然后你看看你投影的向量的长度是在超计划之前还是之后,这就是你定义两个 类 的方式。

这是一种非常简单的查看方式,然后您可以通过阅读一些论文或视频来了解更多细节。