ACG(@R)指标

Notes

检索中常用几种评价指标:

ACG(Average Cumulative Gain)支持多值相似度(multi-level similarity)。对于一个检索序列 V,其每个位置的 gain 就是该位置样本与 query 的相似度,例如共同标签数: G ( q , V i ) = l q T l i G(q, V_i)=l_q^Tl_i G(q,Vi)=lqTli 其中 l x l_x lx 是 x 样本的 label 向量。也可以换成 Jaccard 相似度之类的,如 [3]。CG@k 就是前 k 个位置的 gain 总和(cumulative gain): C G @ k ( q , V ) = ∑ i = 1 k G ( q , V i ) CG@k(q, V)=\sum_{i=1}^kG(q,V_i) CG@k(q,V)=i=1kG(q,Vi) ACG@k 就是 CG@k 对位置求平均: A C G @ k ( q , V ) = 1 k ∑ i = 1 k G ( q , V i ) ACG@k(q,V)=\frac{1}{k}\sum_{i=1}^kG(q,V_i) ACG@k(q,V)=k1i=1kG(q,Vi) ACG@ALL 好像没有什么意义,因为无论什么排序值都是一样的,配合阈值 k 才有点东西。

Code

# import numpy as np

def ACG(Dist, Rel, k=-1):
    """Average Cumulative Gains"""
    n, m = Dist.shape
    if (k < 0) or (k > m):
        k = m
    Gain = Rel
    Rank = np.argsort(Dist)

    _ACG = 0
    for g, rnk in zip(Gain, Rank):
        _ACG += g[rnk[:k]].mean()
    return _ACG / n

References

  1. IR evaluation methods for retrieving highly relevant documents
  2. Cumulated gain-based evaluation of IR techniques
  3. Deep Supervised Hashing for Multi-Label and Large-Scale Image Retrieval
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值