1

我有一些关于 SVM 的基本概念查询——如果有人能指导我,那就太好了。我一直在学习书籍和讲座,但无法正确获得这些查询的答案

  1. 假设我有 m 个特征数据点 - m > 2。我怎么知道数据点是否线性可分?如果我理解正确,线性可分数据点 - 不需要任何特殊内核来找到超平面,因为不需要增加维度。

  2. 说,我不确定数据是否线性可分。我试图得到一个具有线性内核的超平面,一次有松弛,一次没有松弛,拉格朗日乘数。我会看到这两个超平面的训练和测试数据的错误率有什么不同。如果我理解正确,如果数据不是线性可分的,并且如果我没有使用松弛度,那么就不可能有任何最佳平面。如果是这样的话,支持向量机算法是否应该在不同的运行中给我不同的超平面。现在当我引入松弛时——我是否应该总是得到相同的超平面,每次运行?以及如何从超平面的拉格朗日乘数中找出数据是否线性可分。

  3. 现在从 2 说,我以某种方式知道数据在 m 维上不是线性可分的。所以我会尝试增加维度,看看它是否可以在更高的维度上分离。我怎么知道我需要走多高?我知道计算不会进入那个空间——但是有什么方法可以从 2 中找出 3 的最佳内核(即我想找到一个线性分离的超平面)。

  4. 什么是在 Matlab 中可视化超平面和数据点的最佳方法,其中特征维度可以高达 60 - 并且超平面的维度 > 100(即数百个数据点并使用高斯内核,特征向量会发生变化到 > 100 个维度)。

如果有人能解决这些疑虑,我将不胜感激

4

1 回答 1

1

我将尝试专注于您的问题(1)、(2)和(3)。在实践中,最重要的问题不是问题是否成为线性可分的,而是分类器在看不见的数据上的表现如何(即它的分类效果如何)。似乎您想找到一个数据线性可分的好内核,并且您将始终能够做到这一点(考虑在每个训练点放置一个极窄的高斯 RBF),但您真正想要的是在看不见的数据上的良好性能. 话虽如此:

  • 如果问题不是线性可分的并且不使用松弛,则优化将失败。它取决于实现和具体的优化算法它是如何失败的,它不收敛吗?它没有找到下降方向吗?它会遇到数字困难吗?即使您想确定有松弛的情况,您仍然会遇到数值困难,这会使您的线性可分性算法不可靠
  • 你需要走多高?嗯,这是一个基本问题。它被称为数据表示问题。对于直截了当的解决方案,人们使用保留数据(人们不关心线性可分性,他们关心保留数据的良好性能)并在正确的伽马。所以问题就变成了为你的数据找到一个好的伽玛值。参见例如这篇论文:http ://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.880
  • 我认为拉格朗日乘数的值和线性可分性之间没有微不足道的联系。您可以尝试一个值为 C 的高 alpha,但我不确定您能否说得太多。
于 2013-04-02T15:33:29.673 回答