【云音乐】从手游APP到云音乐视频标签分类,时隔3个月再次面对多标签任务,终于摸索出了一些小经验。
前言
之前在个推实习的时候,接到了对手游app的多标签分类任务,当初应该是10+个一级标签,20+个二级标签,两者之间是层次关系,当初还是懵懵懂懂只知道把所有爬下来的特征(文本、icon、包大小等)提取特征之后一股脑的拼接在一起然后随便叠几个dense层就sigmoid输出了。效果也一直不理想,对于结果的观察除了用tf自带的acc评估函数,就是人工加规则,做的非常苦恼。
最近在网易云实习,由于运维给mlog的打标并不标准,为了给mlog和user进行打散,所以需要做一个mlog多标签分类模型,对80w个mlog进行预测,共有666个标签。虽有都有现成的特征,但这次吸取了上次的经验,整个流程下来明显顺畅了很多,因此在这里想把自己的经验分享给大家。(代码和数据恕不能公开)
一个好用的评估函数
一个准确好用的多标签分类评估函数,直接决定了你优化模型的方向,也是你的指路明灯,之前一直用的acc,这明显没有考虑到标签不平衡的问题,这次任务中最多的标签覆盖率达到万,最少却只有几百。因此存在正负样本不平衡的情况。
解决方法:
- 单独观察每一个标签的召回、精准、F1值,方便了解模型对哪些标签表现较差,方便人工调整。
- 自定义评估函数,对于标签种类繁多,显然第一种方法不太现实,我们需要一个明确的指标来代表模型的优良性
常用的多标签任务评估函数



关于评估函数的详细介绍和更多其他评估指标可参考B站视频:多标签分类的评价指标(一)</