我正在实施 one-versus-rest 分类器来区分对应的神经数据(1)和向上移动计算机光标以及(2)将其移动到其他七个基数中的任何一个方向或没有运动。我正在使用带有RBF内核的SVM分类器(由LIBSVM创建),我进行了网格搜索,以便为我的分类器找到最佳的gamma和cost参数。我已经尝试使用来自两个类中的338个元素的训练数据(对我的大型“休息”类进行取样)并使用了我的第一个类中的338个元素和来自我的第二个类中的7218个加权SVM。
我还使用了功能选择将我正在使用的功能数量从130减少到10.我在训练分类器时尝试使用十个“最佳”功能和十个“最差”功能。我也使用了整个功能集。
不幸的是,我的结果不是很好,而且,我找不到解释原因。我测试了37759个数据点,其中1687个来自“一个”(即“up”)类,剩下的36072来自“rest”类。在所有情况下,我的分类器准确度为95%但是正确预测的值都属于“休息”类(即我的所有数据点都被预测为“休息”,并且所有错误预测的值都属于“一个” “/”up“class”。当我尝试使用来自每个类的338个数据点(我用于训练的那些数据点)进行测试时,我发现支持向量的数量是666,比数据点的数量少10。在这种情况下,百分比准确率仅为71%,这是不寻常的,因为我的训练和测试数据完全相同。
你知道可能出现什么问题吗?如果您有任何建议,请告诉我。
谢谢!
答案 0 :(得分:1)
测试数据集与训练数据相同意味着您的训练准确率为71%。它没有任何问题,因为您使用的内核可能无法很好地分离数据。 然而,一个值得关注的问题是支持向量的数量很高表明可能过度拟合。
答案 1 :(得分:0)
不确定这是否构成答案 - 如果没有真正看到数据,可能很难给出答案 - 但这里有一些关于你所描述的问题的想法:
希望有所帮助:)