我看到了一些关于多类别不平衡的问题。但是,我面临的是一个多标签问题,那么在这种情况下,你该如何处理呢?
我有大约300k个文本示例。正如标题中提到的那样,每个示例至少有一个标签,而仅有100个可能的唯一标签。通过利用命名空间,例如:
从:
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比率处突然下降。
--loss_function logistic
。 - Zach