我正在尝试使用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
由于这是第一个文档,因此所有特征都存在。
我使用1
,0
作为类别标签。
我使用svm.Net进行分类。
我手动给出了300
个加权向量作为训练数据,并且生成的模型将所有向量作为支持向量,这肯定是过拟合的。
我的总特征(特征向量DB表中的唯一单词/行数
)为7610
。
可能的原因是什么?
由于这种过度拟合,我的项目现在处于非常糟糕的状态。它将所有可用的文章都归类为正面文章。
在LibSVM中,对于二元分类有任何类别标签的限制吗?
我使用0
和1
代替-1
和+1
。这是一个问题吗?