SVM:VC维度与内核维度数之间的关系

时间:2014-01-03 12:21:54

标签: kernel classification svm dimension training-data

我正在使用Thorsten Joachims的SVM-light探索SVM主题。

现在根据一些介绍文章:

“R n 中定向超平面集合的VC维数为n + 1 [...]”

“当C = inf时,最佳超平面将是完全分离的超平面 数据(假设一个存在)[...]“

我准备了一个二维线性可分数据集,并希望看到2d硬边缘分类器,我们从如此多的插图中知道。

所以我选择了以下参数:

  • 多项式核(a * b + c) d ,d = 2
  • C = 999(以接近inf)

我得到3个支持向量,这很好,但估计的VC维度超过10,000。

现在我想知道如果内核只是二维的话,是否有可能拥有如此高的VCdim?

2 个答案:

答案 0 :(得分:3)

你似乎在这里混淆了一些事情:

  1. 多项式核“二维核”,多项式核映射到大致O(m d )维空间
  2. 经验VC维度是真正的VC维度,真正的VC维度是分析对象,不能直接从“数据”计算,它需要严格的证明,以及一个(一个)现有的少数人说,对于n维空间,线性分类器的VC维数是n + 1,无论你如何“到达”这个空间,它都会成立。
  3. 支持向量的数量以某种方式与模型的泛化能力相关,VC维度也是如此。遗憾的是,支持向量的数量与数据的VC维度之间没有简单的“一对一”依赖关系。事实上,据我所知,没有已知的SVM模型的VC维度证明(我们知道,它是一个间隙容忍分类器,应该具有较低的VC维度,但它远非维度证明。

答案 1 :(得分:1)

VC维度未映射到给定解决方案的SV数量。

VC维度是模型对于与这些点关联的标签的任何组合可以完美地破碎的数据集样本的最大数量。另一方面,支持向量是定义超平面的点。

编辑:

我根据你的评论扩展了我的答案。

首先,当你这样说:

  

“当C = inf时,最佳超平面将完全分离数据(假设存在一个)[...]”

这并不意味着C和VC维度之间存在直接关系(正如您所说,当您说C = 999会产生10000维度的VC维度时)。这意味着C = inf你会强制执行所有约束,从而产生硬边界模型(一个完全分离数据的超平面)

  

“当应用映射到2维的多项式核时,R ^ n中定向超平面集的VC维是否为n + 1的事实仍然成立”

在特征空间中会出现这种情况,但请记住,输入空间中的决策边界不再是超平面,实际上是非线性的。

  

“多项式内核(a * b + c)^ d,如果内核只是二维的话,d = 2”......“

该内核不是bidimesional,它会根据其他参数进行不同的映射。