排序指标CG,DCG,NDCG
CG(Cumulative Gain)表示累积增益,rel_i 表示查询结果列表中第 i 个位置的相关性值(相关程度可以理解为权重),即该结果和查询有多大联系,可以看出CG不会考虑查询结果的顺序,即如果随机打乱查询结果, CG 的值也不会变。比如有一个查询:『abc』
C G p = ∑ i = 1 p r e l i \mathrm { CG } _ { \mathrm { p } } = \sum _ { i = 1 } ^ { p } r e l _ { i } CGp=i=1∑preli
上图输出5条结果,每条结果的相关程度即增益为“Gain”所在的列,累积增益为“Cumulative Gain”所在的列,可以看到第二条查询结果和查询的相关程度最低,为3,如果将第2条结果和第5条结果交换位置,那么计算所得的 CG_5完全不变,也就是说 CG 在整体上考虑了查询结果的好坏,并不在意结果的顺序。
DCG_P中的 p 代表第 p 个位置的折扣累积增益,rel_i 表示第 i 个位置相关程度,其分子代表第 i 个位置结果的相关程度,分母是位置 i 的对数表示。如果将相关程度高的结果排序在列表的后面,会导致 DCG 的值变低,即惩罚了这种情况,所以以 DCG 作为目标的排序会使最相关的结果排列在最靠前的位置。
D C G p = ∑ i = 1 p 2 r e l i − 1 log 2 ( i + 1 ) \mathrm { DCG } _ { \mathrm { p } } = \sum _ { i = 1 } ^ { p } \frac { 2 ^ { r e l _ { i } } - 1 } { \log _ { 2 } ( i + 1 ) } DCGp=i=1∑plog2(i+1)2reli−1
nDCG_p=DCG_P / IDCG ,其值在0-1之间,为什么要这么做呢?举个例子:可以比较两个不同长度的查询结果列表,哪个结果更好一些;也可以比较不同的系统给出结果的好坏。但是,其有一个缺点: IDCG 通常难以全部获得,因为相关程度需要用户的反馈信息,而一个列表完整的反馈信息通常难以获得。
n D C G p = D C G p I D C G p \mathrm { nDCG } _ { \mathrm { p } } = \frac { D C G _ { p } } { I D C G _ { p } } nDCGp=IDCGpDCGp
可以看到 其中 IDCG为理想化的 DCG ,其值计算方式如下,|REL| 代表按相关程度排序后的查询结果列表,也就是这个列表最大的 DCG 值。
排序指标CG,DCG,NDCG相关推荐
- 【商业分析 04 搜索引擎指标CG,DCG,NDCG】
CG (Cumulative Gain 累积收益) CG是可以用于评价基于打分/评分的个性推荐系统.假设我们推荐个物品,这个推荐列表的计算公式如下: 表示第个物品的相关性或者评分.假设我们共推荐个电影 ...
- CG, DCG, NDCG
衡量搜索引擎质量指标(DCG -- Discounted Cumulative Gain) DCG的英文全称是Discounted cumulative gain,它是一个衡量搜索引擎算法的指标. 搜 ...
- 信息检索中的度量precison@k,recall@k,f1@k,MRR,ap,map,CG, DCG,NDCG
转载自:信息检索中度量指标全解析 导读 由浅入深逐个解析信息检索中的度量指标. 我们如何评估前n个结果有多好? 问题1:二元相关性 让我们通过一个简单的玩具例子来理解各种评估指标的细节和权衡.我们有一 ...
- 理解NDCG排序指标
理解NDCG排序指标 关于NDCG,wiki给点解释很详细,这里我谈谈我的理解. NDCG(Normalized discounted cumulative gain):是用来衡量排序质量的指标. 其 ...
- [LTR] 信息检索评价指标(RP/MAP/DCG/NDCG/RR/ERR)
一.RP R(recall)表示召回率.查全率,指查询返回结果中相关文档占所有相关文档的比例:P(precision)表示准确率.精度,指查询返回结果中相关文档占所有查询结果文档的比例: 则 PR 曲 ...
- DCG, NDCG 公式及其实现
DCG, NDCG Normalized Discounted Cumulative Gain(归一化折损累计增益) NDCG用作排序结果的评价指标,评价排序的准确性. 推荐系统通常为某用户返回一个i ...
- kdj买卖指标公式源码_“点金主图+副图+KDJ排序指标”公式源码
在技术软件中的指标,都有其背后的公式在进行支撑,特别的指标更能帮助我们进行投资!知道一些股票技术指标公式源码,是有必要的!有两种指标源码,是可以让短线朋友的投资变得更加简化,他们就是点金主图+副图+K ...
- 【推荐系统排序指标】CG、DCG、NDCG、Hit Rate
文章目录 一.CG,累计增益 Cumulative Gain 二.DCG,折损累计增益 Discounted cumulative gain 三.NDCG,归一化折损累计增益 Normalized D ...
- 推荐系统测评指标——计算DCG、IDCG以及nDCG的python代码
1. 公式 DCG:DCG@K=∑i=1K2ri−1log2(i+1)DCG@K=\sum_{i=1}^{K}\frac{2^{r_i}-1}{log_2(i+1)}DCG@K=i=1∑Klog2 ...
最新文章
- 机器学习是如何运作的?谷歌来告诉你
- GetLogicalDriveStrings FindFirstVolume和FindNextVolume
- android 自定义 child,Android自定义View
- C需语言程序中的基本控制结构有哪些,C语言程序的基本控制结构1.ppt
- java+random+oracle,oracle随机数 — dbms_random
- ML.NET Cookbook:(17)如何在分类数据上训练模型?
- git安装包国内镜像下载地址,速度快
- java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)
- 利用SmsManager发送短信
- php连接云数据库服务器,服务器使用PHP连接sqlserver数据库
- 'scipy._lib.messagestream' 以及 'scipy.interpolate.interpnd.array' 解决办法
- LeetCode: Substring with Concatenation of All Words
- 互联网搜索的哪些环节 机器学习_机器学习、深度学习以及强化学习在金融领域有哪些应用?...
- 30秒让你有效的使用天池实验室资源
- 开源无国界!CSDN 董事长蒋涛、GitHub 副总裁 Thomas Dohmke 对话实录
- ckfinder 配置 php,GitHub - itxq/ckfinder: CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)...
- linux ntp时间立即同步命令_Linux时间同步,ntpdate命令、ntpd服务详解
- 微信自定义菜单java_java微信开发API第四步 微信自定义个性化菜单实现
- TMS320F28335 - eCAP、eQEP
- 『Batch Normalization』Batch Normalization一文吃透