【发布时间】:2013-12-26 00:20:52
【问题描述】:
我看到了一些关于多班级设置中班级不平衡的问题。但是,我有一个多标签问题,那么在这种情况下您将如何处理呢?
我有一组大约 30 万个文本示例。正如标题中提到的,每个示例至少有一个标签,并且只有 100 个可能的唯一标签。我通过利用命名空间将这个问题简化为 Vowpal Wabbit 的二进制分类,例如
发件人:
healthy fruit | bananas oranges jack fruit
evil monkey | bipedal organism family guy
...
收件人:
1 |healthy bananas oranges jack fruit
1 |fruit bananas oranges jack fruit
0 |evil bananas oranges jack fruit
0 |monkey bananas oranges jack fruit
0 |healthy bipedal organism family guy
0 |fruit bipedal organism family guy
1 |evil bipedal organism family guy
1 |monkey bipedal organism family guy
...
我使用的是 VW 提供的默认选项(我认为是在线 SGD,带有平方损失函数)。我使用平方损失,因为它非常类似于汉明损失。
训练结束后,在同一个训练集上进行测试时,我注意到所有示例都是用“0”标签预测的...我猜这是最小化损失的一种方法。在这一点上,我不知道该怎么办。我正在考虑使用成本敏感的一对一分类来尝试平衡类,但是将多标签减少到多类是不可行的,因为存在 2^100 个标签组合。我想知道是否其他人有任何建议。
编辑:我终于有机会测试类不平衡,特别是vw。 vw 处理不平衡非常糟糕,至少对于高维、稀疏填充的文本特征。我尝试了从 1:1 到 1:25 的比例,但在 1:2 的比例下性能会突然下降。
【问题讨论】:
-
我可以完全摆脱
0标签。并且标签是二进制归约中的命名空间。 -
您找到问题的答案了吗?看起来我们还没有一个可靠的答案。
-
@ML_Pro See my answer:使用
--loss_function logistic。
标签: machine-learning classification text-classification vowpalwabbit