如何展示NDCG分数的显著性

14

假设我的检索系统的NDCG得分为0.8。我如何解释这个分数?我如何告诉读者这个分数是显著的?


这与这个有关吗?http://en.wikipedia.org/wiki/Discounted_cumulative_gainnDCG存在的目的是使值在0和1之间,并具有“自然”的解释。 如果是这样,得分为1意味着搜索中的命中顺序完全按相关性排序,而0则相反。 0.5表示一半的命中已经排序正确。由您来解释您的0.8。 - Roman Luštrik
你在哪里读到“自然”解释部分的内容? - Programmer
1
我应该指出那是我的观点。如果你仔细想想,0和1可以按比例缩放成0到100%。我认为人们会使用百分数。 - Roman Luštrik
3个回答

18
为了理解这个问题,让我们来看一下标准化折扣累计增益(nDCG)的例子。
对于nDCG,我们需要计算折扣累计增益(DCG)和理想折扣累计增益(IDCG)。
首先,让我们了解什么是累计增益(CG)。
Example: Suppose we have [Doc_1, Doc_2, Doc_3, Doc_4, Doc_5]
Doc_1 is 100% relevant
Doc_2 is 70% relevant
Doc_3 is 95% relevant
Doc_4 is 20% relevant
Doc_5 is 100% relevant

所以我们的累计增益(CG)为:
CG = 100 + 70 + 95 + 20 + 100  ###(Index of the doc doesn't matter)
   = 385

折扣累计增益(DCG)是与信息检索相关的一种评估指标。

DCG = SUM( relivencyAt(index) / log2(index + 1) ) ###where index 1 -> 5

Doc_1 is 100 / log2(2) = 100.00
Doc_2 is 70  / log2(3) = 044.17
Doc_3 is 95  / log2(4) = 047.50
Doc_4 is 20  / log2(5) = 008.61
Doc_5 is 100 / log2(6) = 038.69

DCG = 100 + 44.17 + 47.5 + 8.61 + 38.69
DCG = 238.97

理想DCG是什么?
IDCG = Doc_1 , Doc_5, Doc_3, Doc_2, Doc_4

Doc_1 is 100 / log2(2) = 100.00
Doc_5 is 100 / log2(3) = 063.09
Doc_3 is 95  / log2(4) = 047.50
Doc_2 is 75  / log2(5) = 032.30
Doc_4 is 20  / log2(6) = 007.74

IDCG = 100 + 63.09 + 47.5 + 32.30 + 7.74
IDCG = 250.63

nDCG(5) = DCG    / IDCG
        = 238.97 / 250.63
        = 0.95

结论:

在给定的示例中,nDCG为0.95,0.95不是预测准确性,而是文档有效排名。因此,收益从结果列表的顶部到底部累积,并且每个结果的收益在较低排名处打折扣。
维基百科参考


3
这是一条非常有用的评论。提供了非常直观的例子来说明这些计算的工作原理。 - colby-ham
1
用例子很好地解释了这个复杂的概念,感谢@Wazy。 - BrB
@Wazy 怎么可能在循环中实现理想的DCG呢? - undefined

11
NDCG是一个排名指标,在信息检索领域中,您需要预测一系列文档的排序,并将其与相关文档列表进行比较。假设您预测了一个包含1000个文档的排序列表,并且有100个相关文档,则当这100个相关文档在列表中具有最高的排名时,NDCG等于1。
所以,0.8的NDCG是最佳排名的80%。
这是一个直观的解释,真正的数学计算包括一些对数,但与此并没有太大区别。

简单而优雅 - Bryce Wayne

1
如果你有相对较大的样本,你可以使用自助法重采样来计算置信区间,这将显示出你的NDCG得分是否显着优于零。
此外,您可以使用成对自助法重采样来显著比较您的NDCG得分与另一个系统的NDCG得分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接