1

我已经阅读了很多论文,并且非常了解支持向量机的基本概念。你给它一个训练输入向量,它具有一组特征,并基于“优化函数”如何评估这个输入向量让我们称之为 x,(假设我们正在谈论文本分类),与输入向量相关联的文本x 被分类为两个预定义的类别之一,这仅适用于二进制分类。

所以我的第一个问题是通过上面描述的这个过程,所有的论文都首先说这个训练输入向量 x 被映射到更高的(可能是无限的)维空间。那么这个映射实现了什么或者为什么需要这个呢?假设输入向量 x 有 5 个特征,那么谁来决定 x 将映射到哪个“更高维度”?

第二个问题是关于以下优化方程:

min 1/2 wi(转置)*wi + C Σi = 1..n ξi

所以我知道 w 与图中支持向量的超平面的边距有关,我知道 C 是某种惩罚,但我不知道它是什么惩罚。在这种情况下,ξi 代表什么。

非常感谢对第二个问题的简单解释,因为我没有通过阅读技术论文来理解它。

4

2 回答 2

1

当他们谈论映射到高维空间时,他们的意思是内核完成的事情与将点映射到高维空间然后在那里取点积相同。SVM 基本上是一个线性分类器,但如果你使用内核,它们在不同于原始数据空间的空间中是线性的。

具体来说,我们来谈谈内核

K(x, y) = (xy + 1)^2 = (xy)^2 + 2xy + 1,

其中 x 和 y 都是实数(一维)。注意

(x^2, sqrt(2) x, 1) • (y^2, sqrt(2) y, 1) = x^2 y^2 + 2 xy + 1

具有相同的价值。所以 K(x, y) = phi(x) • phi(y),其中 phi(a) = (a^2, sqrt(2), 1),并用这个核(非齐次多项式核度 2) 与您首先将 1d 点映射到该 3d 空间然后执行线性内核相同。

流行的高斯 RBF 核函数相当于将您的点映射到无限维希尔伯特空间。

当你选择一个内核时,你是决定它映射到什么特征空间的人。但是,当您这样做时,您不一定需要考虑显式映射,重要的是要注意数据实际上从未显式地转换到那个高维空间 - 那么无限维点将难以表示。:)


ξ_i 是“松弛变量”。没有它们,SVM 将永远无法解释非线性可分的训练集——大多数现实世界的数据集都不是。从某种意义上说,ξ 是将边缘错误一侧的数据点推到正确一侧所需的数量。C 是一个参数,它决定了增加 ξ 的成本(这就是它在那里相乘的原因)。

于 2012-05-25T22:29:42.163 回答
1

1)高维空间通过内核机制发生。然而,在评估测试样本时,不需要显式计算更高维空间。(很明显,必须如此,因为我们无法在计算机上表示无限维。)例如,径向基函数内核意味着无限维空间,但我们不需要明确映射到这个无限维空间。我们只需要计算 K(x_sv,x_test),其中 x_sv 是支持向量之一,x_test 是测试样本。

具体的高维空间由训练过程和参数选择,它们选择一组支持向量及其相应的权重。

2)C是与无法完美分类训练集的成本相关的权重。优化方程表示在非完美分类和低边际这两种不良情况之间进行权衡。ξi 变量代表了我们无法对训练集的实例 i 进行分类的程度,即实例 i 的训练误差。

请参阅 Chris Burges 在 SVM 上的教程,了解您将在任何地方 (IMO) 获得的最直观的解释。

于 2012-05-25T22:31:46.987 回答