LibSVM将我的所有训练向量都变成了支持向量,为什么?

我正在尝试使用SVM进行新闻文章分类。

我创建了一个表格,将特征(文档中找到的独特词汇)作为行。我创建了与这些特征映射的权重向量。即如果文章中包含特征向量表中的某个词,则该位置标记为1,否则标记为0

例如:生成的训练样本…

1 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:1 10:1 11:1 12:1 13:1 14:1 15:1 16:1 17:1 18:1 19:1 20:1 21:1 22:1 23:1 24:1 25:1 26:1 27:1 28:1 29:1 30:1

由于这是第一篇文档,所有特征都存在。

我使用10作为类别标签。

我使用svm.Net进行分类。

我手动分类了300个权重向量作为训练数据,生成的模型将所有向量都作为支持向量,这显然是过拟合了。

我的总特征(特征向量数据库表中的独特词汇/行数)是7610

原因可能是什么?

由于这种过拟合,我的项目现在状况非常糟糕。它将所有可用的文章都分类为正面文章。

LibSVM的二元分类中,对类别标签有任何限制吗?

我使用01而不是-1+1。这会是问题吗?


回答:

正如所指出的,在做其他事情之前进行参数搜索可能是个好主意。

我还会研究你可用的不同核函数。你的输入数据是二进制的,这对于RBF核函数来说可能是个问题(或者可能使其使用效果不佳,与其他核函数相比)。我不知道哪个核函数更适合,不过。尝试使用线性核函数,并寻找更多建议/想法 🙂

要获取更多信息和可能更好的答案,请查看stats.stackexchange.com。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注