我正在阅读 Andrew NG 的机器学习笔记,但功能边距定义让我感到困惑:
我可以理解几何边距是从 x 到其超平面的距离,但是如何理解功能边距?为什么他们这样定义它的公式?
我正在阅读 Andrew NG 的机器学习笔记,但功能边距定义让我感到困惑:
我可以理解几何边距是从 x 到其超平面的距离,但是如何理解功能边距?为什么他们这样定义它的公式?
可以这样想:w^T.x_i +b 是模型对第 i 个数据点的预测。Y_i 是它的标签。如果预测和基本事实具有相同的符号,则 gamma_i 将为正。这个实例在类边界的“内部”越远,gamma_i 就越大:这更好,因为对所有 i 求和,你的类之间会有更大的分离。如果预测和标签在符号上不一致,那么这个数量将是负数(预测器的错误决定),这将减少你的利润,并且你越不正确,它就会减少得越多(类似于松弛变量) .
功能保证金:
这给出了点相对于平面的位置,它不依赖于大小。
几何边距:
这给出了给定训练示例和给定平面之间的距离。
您可以根据以下两个假设将功能边距转换为几何边距:
||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 < 0 when (w^T)x+b < 0) ,乘以y_i简单地等价于得到距离(w^T)x+b的绝对值。
对于这个问题
为什么他们这样定义它的公式?
解释:功能边距没有告诉我们不同点到分离平面/线的确切距离或测量值。
例如,只需考虑以下行,它们是相同的,但功能边距会有所不同(功能边距的限制)。
2*x + 3*y + 1 = 0
4*x + 6*y + 2 = 0
20*x + 30*y +10 = 0
Functional Margin 只是给出我们分类的置信度的一个想法,没有什么具体的。
另请阅读以下参考以获取更多详细信息。
如果 y(i) = 1,那么为了使函数余量很大(即,为了使我们的预测可靠且正确),我们需要 wTx + b 是一个很大的正数。相反,如果 y(i) = -1,那么要使函数余量很大,我们需要 wTx + b 是一个很大的负数。此外,如果 y(i)(wTx + b) > 0,那么我们对这个例子的预测是正确的。(自己检查一下。)因此,较大的功能余量代表了自信和正确的预测。
功能边距用于缩放。
几何裕度 = 功能裕度 / 范数(w)。
或者,当 norm(w) = 1 时,边距为几何边距