visualization - 支持向量机背后的基本原理

标签 visualization multidimensional-array pca svm

我正在通过阅读大量 Material 来学习支持向量机(SVM)。然而,似乎大部分内容都集中在如何通过使用线性、多项式、RBF/高斯等多个内核进行映射来对输入的二维数据进行分类。

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

根据我的发现,答案是肯定的!

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

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

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

如果没有数据投影,他们如何对其进行分类?

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

最佳答案

我的第一个问题是,SVM 是否可以处理高维(n-D)输入数据?

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

我的第二个问题是,它是否正确我的理解?

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

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

A kernel method is an algorithm that depends on the data only through dot-products. When this is the case, the dot product can be replaced by a kernel function which computes a dot product in some possibly high dimensional feature space. This has two advantages: First, the ability to generate non-linear decision boundaries using methods designed for linear classifiers. Second, the use of kernel functions allows the user to apply a classifier to data that have no obvious fixed-dimensional vector space representation. The prime example of such data in bioinformatics are sequence, either DNA or protein, and protein structure.

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

关于visualization - 支持向量机背后的基本原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497898/

相关文章:

r - R如何计算PCA椭圆?

matlab - 从不规则数据绘制表面

visual-studio-2010 - 来自源文件的流程图生成器

audio - 从处理中导出视频3

c - 二维阵列矩阵无法正确打印

c# - 多维数组在隐式定义时是否填充了空值?

python - 如何使用sklearn的IncrementalPCApartial_fit

r - 如何对 PCoA 的散点图进行颜色编码

python - Python中的树形图

c++ - 这个二维数组初始化是个坏主意吗?