杨利霞 发表于 2022-9-12 18:42

极限多标签分类-评价指标


极限多标签分类-评价指标

极限多标签分类-评价指标
References:
http://manikvarma.org/downloads/XC/XMLRepository.html
https://blog.csdn.net/minfanphd/article/details/126737848?spm=1001.2014.3001.5502
https://en.wikipedia.org/wiki/Discounted_cumulative_gain

什么是极限多标签分类 (eXtreme multi-label Classification (XC))?
标签数非常多(Million),典型的就是BoW数据标签。
极限多标签分类的典型应用:Image Caption(头大)。不过在Image Caption里面,Word之间存在序关系。XC可以看成是Image Caption的一个关键阶段,它能够选出与当前Image最相关的BoW。
(上述都是靠过往经验吹的,近期没调研)。

先来看一下评价指标:
由于标签数非常多,且GroundTruth又非常小,因此通常意义上的分类精度、召回(多标签分类用macro或者micro的acc或者recall)等指标不work。
这些评价指标通常考虑了head/tail labels,也就是高频标签和低频标签;以及reciprocal pairs(互惠对)去除?
互惠对似乎?是指彼此相关的标签对,比如针对一个数据点,如果预测了标签A,如果标签B和A相关,那可以自然预测B。
为了避免这种trival prediction, reciprocal pairs应该被去除。

(1) Top-k kk Performance:
(Precision@ k ) P @ k : = 1 k ∑ l ∈ rank k ( y ^ ) y l \text{(Precision@$k$)}\text{P}@k := \frac{1}{k}\sum_{l \in \text{rank}_k (\hat{\mathbf{y}})} \mathbf{y}_l
(Precision@k)P@k:=
k
1


l∈rank
k

(
y
^

)


y
l



(Discounted Cumulative Gain (贴现累积收益))DCG @ k : = ∑ l ∈ rank k ( y ^ ) y l log ⁡ ( l + 1 ) \text{(Discounted Cumulative Gain (贴现累积收益))} \text{DCG}@k := \sum_{l \in \text{rank}_k(\hat{\mathbf{y}})} \frac{\mathbf{y}_l}{\log(l+1)}
(Discounted Cumulative Gain (贴现累积收益))DCG@k:=
l∈rank
k

(
y
^

)



log(l+1)
y
l





(Normalized DCG)nDCG @ k : = DCG@ k ∑ l = 1 min ⁡ ( k , ∣ ∣ y ∣ ∣ 0 ) 1 log ⁡ ( l + 1 ) \text{(Normalized DCG)} \text{nDCG}@k := \frac{\text{DCG@$k$}}{\sum_{l=1}^{\min(k,||\mathbf{y}||_0)} \frac{1}{\log(l+1)}}
(Normalized DCG)nDCG@k:=

l=1
min(k,∣∣y∣∣
0

)


log(l+1)
1


DCG@k



rank k ( y ) \text{rank}_k(\mathbf{y})rank
k

(y)为逆序排列y \mathbf{y}y的前k个下标。Note: DCG公式里的分母实际上不是l,而是from 1 to k.

靠后的标签按照对数比例地减小,说白了就是加权。至于为什么用log?两个事实:1. 平滑缩减; 2. Wang等人提供了理论支撑说明了log缩减方式的合理性。The authors show that for every pair of substantially different ranking functions, the nDCG can decide which one is better in a consistent manner. (看不懂,暂时不管)

(2) Top-k kk Propensity-score:

有些数据集包含一些频度很高的标签(通常称之为head labels),可以通过简单地重复预测头部标签来实现高的P @ k \text{P}@kP@k。Propensity-score可以检查这种微不足道的行为。
( Propensity-score Precision )  PSP @ k : = 1 k ∑ l ∈ rank k ( y ^ ) y l p l (\text{Propensity-score Precision}) \text{ PSP}@k := \frac{1}{k} \sum_{l\in \text{rank}_k(\hat{\mathbf{y}})} \frac{\mathbf{y}_l}{p_l}
(Propensity-score Precision) PSP@k:=
k
1


l∈rank
k

(
y
^

)



p
l


y
l





PSDCG @ k : = ∑ l ∈ rank k ( y ^ ) y l p l log ⁡ ( l + 1 ) \text{PSDCG}@k := \sum_{l \in \text{rank}_k(\hat{\mathbf{y}})} \frac{\mathbf{y}_l}{p_l\log(l+1)}
PSDCG@k:=
l∈rank
k

(
y
^

)



p
l

log(l+1)
y
l





PSnDCG @ k : = PSDCG@ k ∑ l = 1 k 1 log ⁡ ( l + 1 ) \text{PSnDCG}@k := \frac{\text{PSDCG@$k$}}{\sum_{l=1}^{k} \frac{1}{\log(l+1)}}
PSnDCG@k:=

l=1
k


log(l+1)
1


PSDCG@k



其中p l p_lp
l

为标签l ll的propensity-score,使得这种度量在missing label方面无偏差(unbiased)。
Propensity-score强调在tail labels上的表现,而对预测head labels提供微弱的奖励。
————————————————
版权声明:本文为CSDN博主「摆烂的-白兰地」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuyanxue/article/details/126805190


页: [1]
查看完整版本: 极限多标签分类-评价指标