Machine learning 一对多分类器
我正在实现一个one-vs-rest分类器来区分(1)向上移动计算机光标和(2)向其他七个基本方向移动或不移动的神经数据。我正在使用一个带有RBF核的SVM分类器(由LIBSVM创建),我做了一个网格搜索,为我的分类器找到最好的gamma和成本参数。我尝试使用两个类中每个类的338个元素的训练数据(欠采样我的大型“rest”类),并使用加权SVM使用第一个类中的338个元素和第二个类中的7218个元素 我还使用了功能选择,将我正在使用的功能数量从130个减少到10个。在训练分类器时,我尝试使用十个“最佳”特性和十个“最差”特性。我还使用了整个功能集 不幸的是,我的结果不是很好,而且,我找不到一个解释。我测试了37759个数据点,其中1687个来自“一”(即“向上”)类,其余36072个来自“其余”类。在所有情况下,我的分类器都有95%的准确度,但正确预测的值都属于“rest”类(即,我的所有数据点都预测为“rest”,所有错误预测的值都属于“one”/“up”类)。当我尝试测试每个类的338个数据点(与我用于训练的数据点相同)时,我发现支持向量的数量是666,比数据点的数量少10个。在本例中,准确率仅为71%,这是不寻常的,因为我的训练和测试数据完全相同 你知道会出什么问题吗?如果你有任何建议,请告诉我Machine learning 一对多分类器,machine-learning,classification,svm,Machine Learning,Classification,Svm,我正在实现一个one-vs-rest分类器来区分(1)向上移动计算机光标和(2)向其他七个基本方向移动或不移动的神经数据。我正在使用一个带有RBF核的SVM分类器(由LIBSVM创建),我做了一个网格搜索,为我的分类器找到最好的gamma和成本参数。我尝试使用两个类中每个类的338个元素的训练数据(欠采样我的大型“rest”类),并使用加权SVM使用第一个类中的338个元素和第二个类中的7218个元素 我还使用了功能选择,将我正在使用的功能数量从130个减少到10个。在训练分类器时,我尝试使用十
谢谢 不确定这是否是一个答案-如果没有实际查看数据,可能很难给出答案-但以下是关于您描述的问题的一些想法:
希望有帮助:)测试数据集与训练数据相同意味着您的训练准确率为71%。这并没有什么错,因为您使用的内核可能无法很好地分离数据。
然而,一个值得关注的问题是,支持向量的数量高表明可能存在过度拟合。我有点困惑,因为大量支持向量通常是过度拟合的同义词,但另一方面,如果您的训练和测试数据集相同,过度拟合应该提供100%的准确性。。。你能手动将C固定到一个值,这个值会导致过度拟合(我不记得是C=0还是C=无穷大),然后告诉我们结果吗?另一件让我困惑的事情是,如果您使用LibSVM,您如何实现一对一分类器?因为作者似乎选择了1v1方法()