帮助我理解二进制SVM中的线性可分性

Pet*_*ron 5 algorithm classification machine-learning svm libsvm

我是从math.stackexchange.com交叉发布的,因为我没有得到任何反馈,这对我来说是一个时间敏感的问题.


我的问题涉及支持向量机中与超平面的线性可分性.

根据维基百科:

......正式地,支持向量机在高维或无限维空间中构造超平面或超平面集,其可用于分类,回归或其他任务.直观地,通过与任何类的最近训练数据点具有最大距离的超平面(所谓的功能边界)实现良好的分离,因为通常边距越大,分类器分类的泛化误差越低.

超平面对类的线性分离直观地对我有意义.而且我认为我理解二维几何的线性可分性.但是,我正在使用流行的SVM库(libSVM)实现SVM,当弄乱数字时,我无法理解SVM如何在类之间创建曲线,或者在圆形曲线内将类别1中的中心点包围起来.如果n维空间V中的超平面是维度n-1的"平坦"子集,或者对于二维空间 - 1D线,则由类别2中的点包围.

这就是我的意思:

用于2D二进制SVM的循环封闭类分离

那不是超平面.这是循环的.这是如何运作的?或者SVM内部的维度是否比二维2D输入功能更多?


此示例应用程序可以在此处下载.


编辑:

感谢您的全面解答.因此,SVM可以通过使用内核函数很好地分离奇怪的数据.在将数据发送到SVM之前将数据线性化是否有帮助?例如,我的一个输入要素(数值)有一个转折点(例如0),它完全符合第1类,但在零和零之下它适合第2类.现在,因为我知道这一点,它会不会帮助分类为SVM发送此功能的绝对值?

Fre*_*Foo 12

正如mokus解释的那样,支持向量机使用内核函数将数据隐式映射到可以线性分离的特征空间:

SVM将一个特征空间映射到另一个

不同的内核函数用于各种数据.请注意,图片中的变换会添加额外的维度(要素),但此功能永远不会在内存中实现.

(来自Chris Thornton,U.Sussex的插图.)


Amr*_*mro 9

查看此YouTube视频,该视频演示了线性不可分割点的示例,这些点在映射到更高维度时可由平面分离.

替代文字