SVM - 啥是功能边际?
Posted
技术标签:
【中文标题】SVM - 啥是功能边际?【英文标题】:SVM - what is a functional margin?SVM - 什么是功能边际? 【发布时间】:2013-12-02 04:59:51 【问题描述】:几何边距只是某个 x(数据点)与超车道之间的欧几里得距离。
什么是功能性边距的直观解释是什么?
注意:我意识到这里有人问过类似的问题: How to understand the functional margin in SVM ?
但是,那里给出的答案解释了方程式,但没有解释它的含义(据我所知)。
【问题讨论】:
更适合cross validated
【参考方案1】:
不要对这个概念进行不必要的复杂化,但用最简单的术语来说,这里是人们可以如何思考和关联功能和几何边距的方式。
考虑功能边距 - 表示为 ?̂,作为数据单元分类正确性的度量。对于具有参数 w 和 b 且给定类 y = 1 的数据单元 x,仅当 y 和 (wx + b) 的符号相同时,功能裕度才为 1,即正确分类。
但我们不仅仅依赖于我们在这个分类中是否正确。我们需要知道我们有多正确,或者我们对这个分类有多大的信心。为此,我们需要一个不同的度量,这称为几何边距——表示为?,可以表示如下:
? = ?̂ / ||?||
因此,几何边距 ? 是功能边距 ?̂ 的缩放版本。如果 ||w|| == 1,那么几何边距与功能边距相同——也就是说,我们对这种分类的正确性充满信心,就像我们在将数据单元分类到特定类时是正确的一样。
这个缩放比例是||w||给了我们对我们正确性的信心的衡量标准。而且我们总是试图最大限度地提高对我们正确性的信心。
函数边距就像一个二进制值或布尔值变量:我们是否正确分类了特定数据单元。因此,这不能最大化。但是,相同数据单元的几何边距给我们的置信度提供了一个量级,并告诉我们我们的正确程度。所以,我们可以将其最大化。
我们的目标是通过几何边距来获得更大的边距,因为边距越宽,我们对分类的信心就越大。
打个比方,说更宽的道路(更大的边距 => 更高的几何边距)可以提高驾驶速度的信心,因为它减少了撞到任何行人或树木的机会(我们在训练集中的数据单元),但是较窄的道路(较小的边距 => 较小的几何边距),必须更加谨慎,以免撞到(较小的信心)任何行人或树木。所以,我们总是希望道路更宽(更大的边距),这就是为什么我们旨在通过最大化我们的几何边距来最大化它。
【讨论】:
【参考方案2】:如果与超平面正交的向量(w^T)的大小一直保持恒定值,则函数余量表示预测的正确性和置信度 .
根据正确性,功能边距应始终为正,因为如果 wx + b 为负,则 y 为 -1,如果 wx + b 为正, y 为 1。如果功能余量为负,则样本应该被分到错误的组中。
根据置信度,功能裕度可能会因两个原因而发生变化:1)样本(y_i 和 x_i)发生变化或 2)与超平面正交的向量(w^T)被缩放(通过缩放 w 和 b)。 如果与超平面正交的向量(w^T)一直保持不变,那么无论它的大小有多大,我们都可以确定该点被分组到右侧的置信度有多大。功能边距越大,我们就越有信心说该点被正确分类。
但是,如果定义功能边距时没有保持与超平面正交的向量(w^T)的大小相同,那么我们定义如上所述的几何边距。函数边距通过 w 的大小进行归一化,得到训练样例的几何边距。在这种约束下,几何边距的值仅来自样本,而不来自与超平面正交的向量(w^T)的缩放。
几何边距对参数的缩放不变,这是几何边距和功能边距的唯一区别。
编辑:
函数边距的引入起到两个作用:1)直觉几何边距的最大化;2)将几何边距的最大化问题转化为与超平面正交的向量幅度的最小化。
由于缩放参数 w 和 b 不会产生任何意义,并且参数的缩放方式与功能边距相同,那么如果我们可以任意使 ||w||为 1(导致最大化几何边距)我们还可以重新调整参数以使其受制于功能边距为 1(那么最小化 ||w||)。
【讨论】:
【参考方案3】:查看第 3 讲中关于 SVM 的 Andrew Ng's Lecture Notes(符号已更改,以便在此站点上不使用 mathjax/TeX 时更容易键入):
“让我们将函数和几何边距的概念形式化 .给定一个 训练示例
(x_i, y_i)
我们定义了(w, b)
的功能边距 关于训练示例gamma_i = y_i( (w^T)x_i + b )
请注意,如果
y_i > 0
则功能余量较大(即,对于 我们的预测是自信和正确的),我们需要(w^T)x + b
是一个大 正数。反之,如果y_i < 0
,则为功能余量 要大,我们需要(w^T)x + b
是一个大的负数。此外,如果y_i( (w^T)x_i + b) > 0
那么我们对这个例子的预测是正确的。 (您自己检查一下。)因此,较大的功能余量代表了自信且正确的预测。”
Lecture 3 PDF 中的第 3 页链接在上面链接的材料页面。
【讨论】:
是的,谢谢,我读到了……这就是让我首先感到困惑的原因;)【参考方案4】:“几何边距就是某个x(数据点)到超车道之间的欧式距离。”
我认为这不是对几何边距的正确定义,我相信这会让您感到困惑。几何边距只是功能边距的缩放版本。
您可以将功能边距视为一种测试功能,它会告诉您某个特定点是否被正确分类。几何边距是按 ||w|| 缩放的功能边距
如果你检查公式:
您可以注意到,与标签无关,对于正确分类的点(例如 sig(1*5)=1 和 sig(-1*-5)=1),结果将为正,否则为负。如果你按 ||w|| 缩放它那么你将有几何边距。
几何边距为什么存在?
为了使边距最大化,您需要的不仅仅是符号,您需要有一个大小的概念,功能边距会给您一个数字,但如果没有参考,您无法判断该点是否真的很远或靠近决策平面。几何边距不仅告诉您该点是否正确分类,还告诉您该距离的大小,以 |w| 为单位。
【讨论】:
谢谢@Pedrom!我真的很感谢你的回复。一个问题:“几何边距告诉您 [...] 该距离的大小,以 |w| 为单位” - 那么它有点是数据点与超车道的距离?抱歉,我知道你说的不正确,但听起来你在说类似的话……再次感谢! @Cheshie 您可以将其视为距离量,但它肯定不是欧几里得距离(upload.wikimedia.org/math/a/0/5/…)。明显的区别是欧几里得距离是一个正数,几何边距是有符号的。这里重要的是,功能边距是几何边距的未缩放版本。以上是关于SVM - 啥是功能边际?的主要内容,如果未能解决你的问题,请参考以下文章