hit@k
指的是在前 k
个结果中命中的概率。举例而言,假设我们在做 MLM (masked language model)
任务,输入:A bird usually has [MASK] legs. 真实标签为:two,输出的结果为:
- four: 0.321
- two: 0.178
- three: 0.114
- six: 0.064
- no: 0.063
- 如果是用
hit@1 accuracy
作为评价指标,那么我们看前1
个结果,是four
,那么FN + 1
; - 如果是用
hit@2 accuracy
作为评价指标,前2
个结果中,有four
和two
,那么TP + 1
; - 如果是用
hit@k accuracy (k > 2)
作为评价指标,前k
个结果中,一定有two
,那么TP + 1
。
所以总结来说,hit@k
就是看前 k
个结果里面有没有真实标签,如果有的话就是命中成功,否则就是命中失败。