机器学习 – 处理多标签分类中的类不平衡

机器学习 – 处理多标签分类中的类不平衡,第1张

概述我在多类设置中看到了关于类不平衡的几个问题.但是,我有一个多标签问题,所以在这种情况下你会怎么处理? 我有一组约300k文本示例.如标题中所述,每个示例至少有一个标签,并且只有100个可能的唯一标签.我已经通过利用命名空间将这个问题简化为Vowpal Wabbit的二进制分类,例如: 从: healthy fruit | bananas oranges jack fruitevil monkey 我在多类设置中看到了关于类不平衡的几个问题.但是,我有一个多标签问题,所以在这种情况下你会怎么处理?

我有一组约300k文本示例.如标题中所述,每个示例至少有一个标签,并且只有100个可能的唯一标签.我已经通过利用命名空间将这个问题简化为Vowpal Wabbit的二进制分类,例如:

从:

healthy fruit | bananas oranges jack fruitevil monkey | bipedal organism family guy...

至:

1 |healthy bananas oranges jack fruit1 |fruit bananas oranges jack fruit0 |evil bananas oranges jack fruit0 |monkey bananas oranges jack fruit0 |healthy bipedal organism family guy0 |fruit bipedal organism family guy1 |evil bipedal organism family guy1 |monkey bipedal organism family guy...

我正在使用大众提供的默认选项(我认为是在线SGD,具有平方损失功能).我正在使用平方损失,因为它非常类似汉明损失.

在训练之后,当我在相同的训练集上进行测试时,我注意到所有的例子都是用’0’标签预测的……这是一种最小化损失的方法,我想.在这一点上,我不知道该怎么做.我正在考虑使用成本敏感的一对一分类来尝试平衡类,但是由于存在2 ^ 100个标签组合,因此将多标签减少到多类是不可行的.我想知道是否有其他人有任何建议.

编辑:我终于有机会测试阶级失衡,特别是对于大众. vw非常糟糕地处理不平衡,至少对于高维度,稀疏填充的文本特征.我已经尝试过从1:1到1:25的比率,性能在1:2的比例下突然降低.

解决方法 如果强制它使用平方损失进行二元分类问题,任何线性模型都会“非常糟糕”地处理类不平衡.想想损失函数:如果99%的观测值为零,则在所有情况下预测0都会得到0.01的平方误差. Vowpal Wabbit不能做魔术:如果你要求它最小化平方误差损失,它确实会最小化平方误差损失,就像任何其他回归程序一样.

以下是R中线性回归模型的相同“问题”的演示:

set.seed(42)rows <- 10000cols <- 100x <- matrix(sample(0:1,rows*cols,replace=TRUE),nrow=rows)y <- x %*% runif(cols) + runif(rows)y <- ifelse(y<quantile(y,0.99),1)lin_mod <- glm(y~.,data.frame(y,x),family='gaussian') #linear modellog_mod <- glm(factor(y)~.,family='binomial') #Logistic model

比较线性模型和逻辑模型的预测表明,线性模型总是预测为0,逻辑模型预测0和1的正确混合:

> table(ifelse(predict(lin_mod,type='response')>0.50,1,0))    0 10000 > table(ifelse(predict(log_mod,0))   0    1 9900  100

对于vowpal wabbit中的二进制分类问题,请使用–loss_function =“logistic”或–loss_function =“hinge”.您可以在事后使用汉明损失评估您的预测,但是将您的结果与总是预测为0的汉明损失进行比较可能会提供信息.

总结

以上是内存溢出为你收集整理的机器学习 – 处理多标签分类中的类不平衡全部内容,希望文章能够帮你解决机器学习 – 处理多标签分类中的类不平衡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存