2

我正在通过阅读大量材料来研究支持向量机 (SVM)。但是,似乎大部分都集中在如何通过使用线性、多项式、RBF/高斯等多个内核映射输入的 2D 数据来对其进行分类。

我的第一个问题是,SVM 可以处理高维(nD)输入数据吗?

根据我的发现,答案是YES!

如果我的理解是正确的,nD 输入数据将是

  1. 在希尔伯特超空间中构造,那么这些数据将是
  2. 通过使用某些方法(例如 PCA ?)将其组合在一起/将其投影回 2D 平面来简化,以便
  3. 内核方法可以将其映射为适当的形状,例如直线或曲线可以将其分成不同的组。

这意味着大多数指南/教程都集中在步骤 (3) 上。但是如果输入数据大于 2D,我检查过的一些工具箱无法绘制。投影到二维后的数据如何?

如果没有数据的投影,他们如何分类呢?

我的第二个问题是:我的理解正确吗?

4

1 回答 1

2

My first question is, does SVM can handle high-dimensional (n-D) input data?

是的。我在使用 LIBSVM 软件时处理了 n > 2500 的数据:http ://www.csie.ntu.edu.tw/~cjlin/libsvm/ 。我使用了线性和 RBF 内核。

My second question is, does it correct my understanding?

我不完全确定你在这里的意思,所以我会尝试评论你最近所说的话。我相信您的直觉通常是正确的。数据是在某个 n 维空间中“构造”出来的,使用一个 n-1 维的超平面将数据分为两组。但是,通过使用内核方法,可以使用线性方法生成此信息,而不会消耗计算机的所有内存。

我不确定您是否已经看过这个,但如果您还没有看过,您可能会对本文中的一些信息感兴趣:http: //pyml.sourceforge.net/doc/howto.pdf。我复制并粘贴了部分可能会引起您的想法的文本:

核方法是一种仅通过点积依赖于数据的算法。在这种情况下,点积可以被一个核函数替换,该核函数在一些可能的高维特征空间中计算点积。这有两个优点:首先,能够使用为线性分类器设计的方法生成非线性决策边界。其次,核函数的使用允许用户将分类器应用于没有明显固定维向量空间表示的数据。生物信息学中此类数据的主要例子是序列(DNA 或蛋白质)和蛋白质结构。

如果您可以解释您所指的“指南”,这也会有所帮助。我认为我以前从未必须在二维平面上投影数据,而且对于具有荒谬数量的维度(或称为“特征”的数据)这样做是没有意义的LIBSVM)。使用选定的内核方法应该足以对此类数据进行分类。

于 2012-07-16T16:29:07.940 回答