Machine learning 非线性支持向量机核维数

Machine learning 非线性支持向量机核维数,machine-learning,computer-vision,svm,libsvm,pattern-recognition,Machine Learning,Computer Vision,Svm,Libsvm,Pattern Recognition,我在理解非线性支持向量机的内核方面有一些问题。 首先,我对非线性支持向量机的理解是:使用核函数将输入转换到一个非常高维的空间,在这个空间中,转换后的输入可以被一个线性超平面分离 内核,例如:RBF: K(x_i, x_j) = exp(-||x_i - x_j||^2/(2*sigma^2)); 其中x_i和x_j是两个输入。这里我们需要改变sigma以适应我们的问题 (1) Say if my input dimension is d, what will b

我在理解非线性支持向量机的内核方面有一些问题。 首先,我对非线性支持向量机的理解是:使用核函数将输入转换到一个非常高维的空间,在这个空间中,转换后的输入可以被一个线性超平面分离

内核,例如:RBF:

         K(x_i, x_j) = exp(-||x_i - x_j||^2/(2*sigma^2));
其中x_i和x_j是两个输入。这里我们需要改变sigma以适应我们的问题

       (1) Say if my input dimension is d, what will be the dimension of the 
           transformed space?

       (2) If the transformed space has a dimension of more than 10000 is it 
           effective to use a linear SVM there to separate the inputs?

转换通常会增加数据的维度数量,但不一定非常高。视情况而定。RBF核是最流行的核函数之一。它在每个数据点周围添加一个“凹凸”。相应的特征空间是无限维的希尔伯特空间

在不知道数据的具体背景的情况下,很难判断转换为10000维对分类是否有效。然而,为您的问题选择一个好的映射(编码先验知识+获得正确的函数类复杂性)可以改善结果

例如,包含60K训练示例和10K测试示例,其中包含28x28个二进制图像

  • 线性支持向量机的测试误差约为8.5%
  • 多项式支持向量机的测试误差约为1%

    • 这不仅仅是增加尺寸的问题。这是一般的机制,但不是全部思想,如果内核映射的唯一目标是增加维数,那么我们可以得出结论,所有内核函数都是等价的,而不是等价的

      映射的方式将使新空间中的线性分离成为可能。 在讨论您的示例时,为了扩展greeness所说的内容,RBF内核将根据超球体对特征空间进行排序,其中输入向量需要接近现有球体才能产生激活

      因此,要直接回答您的问题:

      1) 请注意,您不直接使用要素空间。相反,优化问题是使用特征空间中向量的内积来解决的,因此在计算上不会增加向量的维数


      2) 这取决于数据的性质,高维模式在某种程度上有助于防止过度拟合,但不一定是线性可分的。同样,新空间中的线性可分性可以实现,这是因为地图的制作方式,而不仅仅是因为它处于更高的维度。从这个意义上讲,RBF会有所帮助,但请记住,如果数据不是局部封闭的,它可能无法很好地进行泛化。

      您的问题是一个非常自然的问题,几乎所有了解内核方法的人都会问一些不同的问题。然而,我不会试图从线性超平面运行的隐含特征空间的角度来理解非线性内核的情况,因为大多数非平凡内核都有很难可视化的特征空间

      相反,要专注于理解,并将内核视为在输入空间中引入一种特殊形式的非线性决策边界。由于内核技巧,以及一些相当令人生畏的数学(如果您不熟悉的话),任何满足某些属性的内核函数都可以被视为在某些特征空间中操作,但从未执行到该空间的映射。如果您感兴趣,可以阅读以下(相当容易)访问的教程:

      还要注意的是,由于松弛变量的公式,超平面不必精确地分离点:有一个目标函数被最大化,其中包含对错误分类实例的惩罚,但是,如果在大多数情况下得到的分类器的边界更好,则可以容忍一些错误分类。基本上,我们正在根据以下标准优化分类规则:

    • 利润有多大
    • 训练集上的错误
    • 支持向量机公式使我们能够有效地解决这个问题。一个内核是否更好取决于应用程序(例如,文本分类和其他语言处理问题通常显示线性内核的最佳性能,可能是由于输入数据的极端维数)。没有什么真正的替代品可以代替尝试一堆,看看哪一个效果最好(并确保SVM超参数设置正确---)