最近在看Few-Shot and Zero-Shot Multi-Label Learning for Structured Label Spaces这篇文章时发现文章采用了一个R@k的评价指标来衡量模型的好坏。
文章中提到了一句话“R@k is preferred for few- and zero-shot labels, because P@k quickly goes to zero as k increases and gets bigger than the number of group specific labels assigned to each instance.”
句子含义大致是P@k会随着k的增长迅速变为0,k的值会大于实例的标签组数目。这句话引起了我对P@k和R@k的评价指标的兴趣,搜寻网上博客文章,发现大多都是讲的推荐系统中的R@k,与multi-label classification
中的R@k定义有所不同,所以在此将个人对于P@k和R@k的理解写出来,便于日后查阅。
以下文字来自知乎:https://zhuanlan.zhihu.com/p/61459283
P@k
随着k取值的增大,tp+fp的数目也会增大,预测标签集合的长度可能远远长于真实标签集合,随着k的增大,tp的值达到阈值(训练集中该标签的所有样本数),fp的值不断增加,最终P@k趋近于0,符合paper中的思想
R@k
仿照P@k的思路,我们可以思考下R@k随着k值的变化趋势
recall=TP/(TP+FN),对于k>1的情况,tp的值会先随着k值增加,达到阈值后不变。又因为只要是top-k个预测里面有正确类就可以识别为正类,正类判定为负类的情况(FN)会减少,即TP+FN会减少,所以R@k会随着k的增加而上升,适用于小样本和零样本场景