搜索评价指标——NDCG

转载自:胖喵~的博客

概念

NDCG,Normalized Discounted cumulative gain 直接翻译为归一化折损累计增益,可能有些晦涩,没关系下面重点来解释一下这个评价指标。这个指标通常是用来衡量和评价搜索结果算法(注意这里维基百科中提到了还有推荐算法,但是我个人觉得不太适合推荐算法,后面我会给我出我的解释)。DCG的两个思想:

  • 1、高关联度的结果比一般关联度的结果更影响最终的指标得分;

  • 2、有高关联度的结果出现在更靠前的位置的时候,指标会越高;

累计增益(CG)

CG,cumulative gain,是DCG的前身,只考虑到了相关性的关联程度,没有考虑到位置的因素。它是一个搜素结果相关性分数的总和。指定位置p上的CG为:
  在这里插入图片描述
r e l i rel_i reli 代表i这个位置上的相关度。

举例:假设搜索“篮球”结果,最理想的结果是:B1、B2、 B3。而出现的结果是 B3、B1、B2的话,CG的值是没有变化的,因此需要下面的DCG。

折损累计增益(DCG)

DCG, Discounted 的CG,就是在每一个CG的结果上处以一个折损值,为什么要这么做呢?目的就是为了让排名越靠前的结果越能影响最后的结果。假设排序越往后,价值越低。到第i个位置的时候,它的价值是 1 / l o g 2 ( i + 1 ) 1/log_2(i+1) 1/log2(i+1),那么第i个结果产生的效益就是 r e l i ∗ 1 / l o g 2 ( i + 1 ) rel_i * 1/log_2(i+1) reli1/log2(i+1),所以:
在这里插入图片描述
当然还有一种比较常用的公式,用来增加相关度影响比重的DCG计算方式是:
在这里插入图片描述
百科中写到后一种更多用于工业。当然相关性值为二进制时,即 reli在{0,1},二者结果是一样的。当然CG相关性不止是两个,可以是实数的形式。

归一化折损累计增益(NDCG)

NDCG, Normalized 的DCG,由于搜索结果随着检索词的不同,返回的数量是不一致的,而DCG是一个累加的值,没法针对两个不同的搜索结果进行比较,因此需要归一化处理,这里是处以IDCG。
在这里插入图片描述
IDCG为理想情况下最大的DCG值。
在这里插入图片描述
其中 |REL| 表示,结果按照相关性从大到小的顺序排序,取前p个结果组成的集合。也就是按照最优的方式对结果进行排序。

实例

假设搜索回来的5个结果,其相关性分数分别是 3、2、3、0、1、2

那么 CG = 3+2+3+0+1+2

可以看到只是对相关的分数进行了一个关联的打分,并没有召回的所在位置对排序结果评分对影响。而我们看DCG:

在这里插入图片描述
所以 DCG = 3+1.26+1.5+0+0.38+0.71 = 6.86

接下来我们归一化,归一化需要先结算 IDCG,假如我们实际召回了8个物品,除了上面的6个,还有两个结果,假设第7个相关性为3,第8个相关性为0。那么在理想情况下的相关性分数排序应该是:3、3、3、2、2、1、0、0。计算IDCG@6:

在这里插入图片描述
所以IDCG = 3+1.89+1.5+0.86+0.77+0.35 = 8.37

最终 NDCG@6 = 6.86/8.37 = 81.96%

转载链接: https://www.cnblogs.com/by-dream/p/9403984.html

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是对评价指标NDCG、AUC、ACC、Precision和Recall的简要介绍: 1. NDCG (Normalized Discounted Cumulative Gain):NDCG是用于衡量排序算法性能的指标,常用于评估推荐系统的排序质量。它考虑了推荐列表中每个项目的相关性和排序位置,通过对相关性进行折扣和累加来计算得分,然后将得分标准化,使得评估结果在0到1之间,越接近1表示排序质量越好。 2. AUC (Area Under the ROC Curve):AUC是用于衡量分类算法性能的指标,常用于评估二分类问题的预测准确性。ROC曲线是以真正例率(True Positive Rate)为纵轴,假正例率(False Positive Rate)为横轴绘制的曲线,AUC则是ROC曲线下的面积。AUC越接近1表示分类器性能越好。 3. ACC (Accuracy):ACC是用于衡量分类算法性能的指标,表示分类器正确预测的样本占总样本数的比例。ACC通常用于评估多分类问题中分类器的准确性,取值范围为0到1,越接近1表示分类器性能越好。 4. Precision (精确率):Precision是用于衡量分类算法性能的指标,表示分类器在预测为正例的样本中,真正例的比例。精确率主要关注分类器的预测准确性,计算公式为真正例数除以真正例数加上假正例数。 5. Recall (召回率):Recall是用于衡量分类算法性能的指标,表示分类器成功预测为正例的样本占所有真正例的比例。召回率主要关注分类器对正例的全面性,计算公式为真正例数除以真正例数加上假负例数。 这些评价指标在不同的任务和场景中有不同的应用,可以帮助评估模型的性能和效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值