暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分类问题标签长尾分布你该怎么办?

百面机器学习 2020-04-21
860
点击上方蓝色字关注我们!



问题引入

分类问题是一个机器学习中最基本的问题,但是我们在实际的项目或者比赛中可能会遇到一些情况,就是某些样本对应的标签特别多,某些样本的标签特别少。而且整体上标签的分布是呈现出一个长尾分布的状态,但这个时候如何对于这个模型进行建模呢?

问题解答

对于上面的问题我们可以理解成一个长尾问题,如按照 class frequency 排序, 可以将 frequency 较高的 class/label 称之为 head label, frequency 较低的 class/label 称之为tail label. 下图是一个例子:

1.最常用的技巧,up-sampling 或 down-sampling, 其实在 long tail 的 data 做这两种 sampling 都不是特别好的办法. 由于 tail label 数据非常 scarce, 如果对 head label 做 down-sampling 会丢失绝大部分信息. 同理, 对 tail label 做 up-sampling, 则引入大量冗余数据. 这里有篇文章对比了这两种采样方法。 可以参考文献1

2.divide-and-conquer, 即将 head label 和 tail label 分别建模. 比如先利用 data-rich 的 head label 训练 deep model, 然后将学到的样本的 representation 迁移到 tail label model, 利用少量 tail label data 做 fine-tune. 具体做法可以参考文献2

3.对 label 加权, 每个 label 赋予不同的 cost. 如给予 head label 较低的 weight, 而 tail label 则给予较高的 weight, 但是这个权重是怎么设置的呢?其实也不太好定呀。有关可以参考文献3

参考

[1] learning-to-model-the-tail

[2] deepxml: scalable & accurate deep extreme classification for matching user ueries to advertiser bid phrases

[3] extreme multi-label learning with label features for warm-start tagging, ranking & recommendation

喜欢就关注一下啦~~~





文章转载自百面机器学习,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论