我对SVM有一些基本的概念性查询 - 如果任何人可以指导我这将是很好的。我已经学习了一段时间的书籍和讲座,但未能正确地获得这些查询的答案
假设我有m个特征数据点 - m> 2.我如何知道数据点是否可线性分离?如果我理解正确,线性可分的数据点 - 不需要任何特殊的内核来查找超平面,因为不需要增加维度。
说,我不确定数据是否可以线性分离。我尝试用线性内核得到一个超平面,一次是松弛,一次是拉格朗日乘数没有松弛。我将看到这两个超平面的训练和测试数据的错误率有什么不同。如果我理解正确,如果数据不是线性可分的,如果我没有使用松弛,那么就没有任何最佳平面。如果是这种情况,svm算法应该在不同的运行中给我不同的超平面。现在,当我介绍松弛时 - 我是否应该总是得到相同的超平面,每次运行?我怎样才能从超平面的拉格朗日乘数中找出数据是否可线性分离。
现在从2开始说我知道数据在m维度上不是线性可分的。因此,我将尝试增加尺寸,看看它是否可以在更高的维度上分离。我怎么知道我需要去多高?我知道计算不会进入那个空间 - 但有没有办法从2中找出3应该是最好的内核(即我想找到一个线性分离超平面)。
在Matlab中可视化超平面和数据点的最佳方法是什么,其中特征尺寸可以大到60 - 超平面在> 100维(i,数据点数百,使用高斯核,特征向量变为> 100维)。
如果有人清除这些疑惑,我将非常感激 此致
答案 0 :(得分:1)
我将尝试关注你的问题(1),(2)和(3)。在实践中,最重要的问题不是问题是否可以线性分离,而是分类器对看不见的数据的表现如何(即分类的程度如何)。看起来你想要找到一个可以线性分离数据的好内核,你总能做到这一点(考虑在每个训练点放置一个非常窄的高斯RBF),但你真正想要的是对看不见的数据的良好表现。话虽如此: