如何理解 SVM 中的功能余量?
Posted
技术标签:
【中文标题】如何理解 SVM 中的功能余量?【英文标题】:How to understand the functional margin in SVM ? 【发布时间】:2013-01-17 11:35:13 【问题描述】:我正在阅读 Andrew NG 的机器学习笔记,但功能边距定义让我感到困惑:
我可以理解几何边距是从 x 到其超平面的距离,但如何理解功能边距?为什么他们这样定义它的公式?
【问题讨论】:
公式是这样的,因为您可以使用“内核”函数将值映射到另一个更高维空间。此函数的示例是多项式或 RBF。可能,功能边距是特定函数在映射空间上的几何边距! 这个问题较旧,但我作为副本链接的问题似乎有更好的接受答案 (***.com/questions/20058036/…)。 【参考方案1】:关于这个问题
为什么他们这样定义它的公式?
说明:功能边距没有告诉我们不同点到分离平面/线的确切距离或测量值。
例如,只需考虑以下几行,它们是相同的,但功能边距会有所不同(功能边距的限制)。
2*x + 3*y + 1 = 0
4*x + 6*y + 2 = 0
20*x + 30*y +10 = 0
Functional Margin 只是给出关于我们分类的置信度的一个想法,没有什么具体的。
更多详情,请阅读以下参考资料。
Referenced Andrew NG's lecture notes, please click here for more details
如果 y(i) = 1,那么为了使函数余量很大(即,为了使我们的预测可靠且正确),我们需要 wTx + b 是一个很大的正数。相反,如果 y(i) = -1,那么要使函数余量很大,我们需要 wTx + b 是一个很大的负数。此外,如果 y(i)(wTx + b) > 0,那么我们对这个例子的预测是正确的。 (您自己检查一下。)因此,较大的功能余量代表一个自信且正确的预测。
【讨论】:
【参考方案2】:您可以根据以下两个假设将功能边距转换为几何边距:
||w|| == 1,因此 (w^T)x+b == ((w^T)x+b)/||w||,即从点 x 到直线 y=(w^T) 的几何距离x+b。
目标只有两个类别,其中 y_i 只能是 +1 和 -1。因此,如果 y_i 的符号与点 x 所在的直线的边相匹配 (y_i > 0 when (w^T)x+b > 0, y_i
【讨论】:
【参考方案3】:功能保证金:
这给出了点相对于平面的位置,它与大小无关。
几何边距:
这给出了给定训练示例和给定平面之间的距离。
【讨论】:
【参考方案4】:功能边距用于缩放。
几何边距 = 功能边距 / 范数(w)。
或者,当 norm(w) = 1 时,边距为几何边距
【讨论】:
【参考方案5】:可以这样想:w^T.x_i +b 是模型对第 i 个数据点的预测。 Y_i 是它的标签。如果预测和基本事实具有相同的符号,则 gamma_i 将为正。这个实例在类边界的“内部”越远,gamma_i 就越大:这更好,因为对所有 i 求和,你的类之间会有更大的分离。如果预测和标签在符号上不一致,那么这个数量将是负数(预测器的错误决定),这将减少你的利润,并且你越不正确,它就会越减少(类似于松弛变量) .
【讨论】:
以上是关于如何理解 SVM 中的功能余量?的主要内容,如果未能解决你的问题,请参考以下文章