我刚刚浏览了维基百科有关SVM的页面,这条线引起了我的注意: "如果使用的内核是高斯径向基函数,则相应的特征空间是无限维的Hilbert空间。" http://en.wikipedia.org/wiki/Support_vector_machine#Nonlinear_classification
根据我的理解,如果我在SVM中应用高斯核,那么得到的特征空间将是m
- 维度(其中m
是训练样本的数量),因为你选择你的地标是您的培训示例,并且您正在测量相似性"在具体示例和具有高斯内核的所有示例之间。因此,对于单个示例,您将具有与训练示例一样多的相似度值。这些将成为m
维向量的新特征向量,而不是无限维度。
有人可以向我解释我错过了什么吗?
谢谢, 丹尼尔
答案 0 :(得分:5)
简短的回答是,关于无限维空间的这项业务只是理论辩护的一部分,并没有实际意义。在任何意义上,你永远不会真正触及无限维空间。这是径向基函数有效的证据的一部分。
基本上,SVM通过依赖向量空间上的点积的属性证明了它们的工作方式。你不能只是交换径向基函数,并期望它必然有效。然而,为了证明它确实如此,你表明径向基函数实际上就像是不同向量空间上的点积,并且就像我们在变换空间中进行常规SVM一样有效。并且它发生了无限的概率,并且径向基函数确实对应于这样的空间中的点积。因此,当您使用此特定内核时,您可以说SVM仍然有用。
答案 1 :(得分:5)
线性SVM的双重公式仅取决于所有训练向量的标量积。标量积测量两个向量之间的相似性。然后我们可以通过将标量产品替换为任何其他“行为良好”(它应该是positive-definite来概括它,它需要保持凸性,以及启用Mercer's theorem)相似性度量。 RBF就是其中之一。
如果你看一下公式here,你会发现RBF基本上是某个特殊无限维空间中的标量积
因此RBF就像所有可能程度的多项式核的并集。
答案 2 :(得分:3)
其他答案都是正确的,但在这里并没有说出正确的答案。重要的是,你是对的。如果你有不同的训练点,则高斯径向基核使SVM在m维空间中运行。我们说径向基核映射到无限维的空间,因为你可以使m尽可能大,并且它运行的空间不受限制地保持增长。
但是,其他内核(如多项式内核)不具有维度样本数量的维度缩放的此属性。例如,如果您有1000个2D训练样本并且使用< x,y> ^ 2的多项式内核,那么SVM将在3维空间中操作,而不是1000维空间。