【发布时间】:2011-04-29 04:30:23
【问题描述】:
我从math.stackexchange.com 交叉发布此消息,因为我没有收到任何反馈,而且这对我来说是一个时间敏感的问题。
我的问题与支持向量机中超平面的线性可分性有关。
根据Wikipedia:
...形式上,支持向量机 构造一个超平面或一组 高或无限的超平面 维度空间,可以使用 用于分类、回归或 其他任务。直觉上不错 分离是由 最大的超平面 到最近的训练数据的距离 任何类别的点(所谓的 功能余量),因为一般来说 边距越大越低 的泛化错误 分类器.分类器。
超平面对类的线性分离对我来说很直观。而且我想我理解二维几何的线性可分性。但是,我正在使用流行的 SVM 库 (libSVM) 实现 SVM,并且在处理数字时,我无法理解 SVM 如何在类之间创建曲线,或者将类别 1 中的中心点包含在圆形曲线中如果 n 维空间 V 中的超平面是维度 n - 1 的“平面”子集,或者对于二维空间 - 一维线,则被类别 2 中的点包围。
这就是我的意思:
那不是超平面。那是圆形的。这是如何运作的?还是 SVM 内部的维度比二维 2D 输入特征多?
此示例应用程序可以在here下载。
编辑:
感谢您的全面回答。所以 SVM 可以通过使用核函数很好地分离奇怪的数据。在将数据发送到 SVM 之前对数据进行线性化是否有帮助?例如,我的一个输入特征(一个数值)有一个转折点(例如 0),它恰好适合类别 1,但高于和低于零它适合类别 2。现在,因为我知道这一点,它会帮助分类发送这个特征的绝对值给SVM?
【问题讨论】:
-
线性化数据是一种选择,但核函数的好处之一是您实际上不需要构造这样的空间。内核有效地衡量了数据点的不相似性。实际上找到一个实现任意内积的空间可能涉及引入无限维数。但是所有 SVM 算法需要的是一个内积。事实上,IIRC,它真正需要的只是足够“像”内积的东西。
-
这个问题是这里的主题:stats.stackexchange.com
-
@Shane:是的,但是 SO 的更多受众得到更快的答案。
标签: algorithm machine-learning classification svm libsvm