首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

推荐系统评价:NDCG方法概述

我们在前段时间已经使用了平均精度均值(MAP)。NDCG表示归一化折损累积增益。两者之间的主要区别是,MAP认为是二元相关性(一个项是感兴趣的或者不感兴趣的),而NDCG允许以实数形式进行相关性打分。...在这种情况下,你可以计算出更糟糕情况下DCG的归一化(它将小于零),或者仍然使用零作为下限值,具体要视情况而定。 反馈形式 有两种类型的反馈形式:显性反馈和隐性反馈。显性反馈表示用户率项。...隐式反馈不常以计数的形式出现,例如用户听一首歌的次数是多少。MAP只是一种二元反馈指标,而NDCG可以在任何情况下使用,你可以对推荐项指定相关分数(二元、整数或是实数)。...一般来说,当预测率是用户和项因子之间的点积时,我们可以采取项因子和解决系统的线性方程组来估计用户因子。这相当于拟合一个线性回归模型。...该交叉点提供了使用两个系统组合的一种可能性。最初我们采用的是第一个系统,当获得的反馈大于阈值时,我们切换到另一个系统。在这里,当给出少许评价数时蓝色会表现的更好,但当评价数大约50个时就会收敛。

2.3K80

【干货】搜索和其他机器学习问题有什么不同?

假设按均值来说,我们的预测跟实际股价的误差在1美元到2美元之间,我们可以认为系统预测的很好。 这种情况下的误差我们称之为残差,即实际值与预测值之间的差异:实际值-预测值。...但表象可能是骗人的,单文档学习排名的一个问题是获得正确排序的头部项通常比判断列表尾部的模糊项更加重要。基本上所有认知和位置偏差在最大化度量(如NDCG)下都会被忽略。...实际上,一个经常交换精准相关项和不太相关项,但可以准确地预测第50页较低的相关性等级的模型并不是很好。买家在前几个结果中看了些勉强相关的项目且没有被其打动时,所以他们离开了。...综上所述,当(1)该项在判断列表很重要时(TopOneP(doc.grade)很高),并且当我们的rangking函数f的TopOneP很低时,会产生更多的误差。...在图形中,你可以看到,使用线性回归运行上述相同的数据: ? RankSVM与List-Wise方法 你可以看到, RankSVM似乎仍然创建一个直接的、线性的相关性。我们知道现实往往是非线性的。

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LambdaLoss | Google排序学习优化框架

    有些工作已经证明「优化这些损失」的结果是「真正排序度量指标」的界,即实际回归或分类损失函数是排序度量指标误差(度量指标取相反数)的上界[3],不断最小化损失函数这一上界,能够达到最小化度量指标误差的目的...框架中,使用高斯分布作为排序分布时,等价于我们熟知的[4]方法,而使用Plackett-Luce作为排序分布时,等价于我们熟知的ListNet[5]算法。...所以可以直接加到损失函数中);第二项其实就是NDCG( , ),这么定义是因为下文推导方便。 因为: ,有: 同理可得,LmabdaLoss损失为: 上述问题是 太大时,上界太松了。...最后可以推导出NDCG第二种形式的损失(「关键」): 上式的好处在于,可以通过重新定义 和 来扩展出很多NDCG-like metrics的LambdaLoss。...如果纯从逼近优化ndcg的目标,文中也推导出了ndcg-loss1和ndcg-loss2的表达式,其作为NDCG度量指标误差的上界,能够比lambdaRank更紧。

    2.3K30

    变分自编码器如何淘汰经典的推荐系统

    第一个将是NDCG,它衡量质量和我们的推荐项目的顺序。我们首先需要定义DCG。DCG越高越好。DCG@p定义为: ? I是指示函数,elem_i代表推荐列表的第i个元素。...优点 「无冷启动」:推荐系统(RS)中经常出现的问题之一是冷启动。当添加新项目或用户时,会出现此问题。由于没有可供推断的先前活动,推荐系统给的推荐就会有点生硬。...在我们的场景中,一个项目的交互次数并不影响它最终被推荐的可能性,这意味着当涉及到新项目时,我们不存在冷启动问题。 「实现简单」:如上图所示,使用几行伪代码,算法相当简单。...在不进行预处理的情况下,每次要求系统向用户推荐新内容时,它都必须找到与用户交互的每个项目最接近的k个项目。...我们可以推断,对于较大的数据集,这种方法往往会过拟合。 「查询时间是O(#items)」:此方法的问题之一是,对于给定的用户,我们需要解析所有项目。当项目数量增加时,这可能会成为一个可伸缩性问题。

    1.3K20

    推荐系统相关效果评测指标总结

    但是与传统评测相异的是,推荐系统具有没有传统意义上的输入与输出,模型、算法等中间过程难以介入,一切的效果与性能目的都需要落地到提升用户体验等特点,这给评测带来了较大难度。...三、评测方案指标总结 对于不同的推荐系统评测方式,我们需要使用不同的指标对其进行衡量: 1、模型离线实验 离线实验目的旨在对算法进行评价,所以评价指标强相关与所使用的推荐算法,传统的评分预测问题通常使用均方根误差...除此之外,在参考文献【2】中还提到惊喜度、信任度、实时性和鲁棒性这些指标可以作为对推荐系统的评测指标,但是目前的研究还缺乏有效的标准对这些进行度量,大多还采用MOS评分的方式进行评测。...NDCG可以直译为归一化折损累积增益,其主要思想是对用户选择的前r项tag进行收益打分,以Top-K tag质量判定整个提取算法的算法质量。 CG(Cumulative Gain,累计增益) ?...之后我们就可以计算归一化的折损累积增益,也就是使用DCG除以最理想抽取的DCG值,综合上述算法原理,则NDCG评测方法公式可以表示为下式: ?

    9.3K31

    谷歌推出TF-Ranking:用于排序算法的可扩展TensorFlow库

    排序,是一种适用于搜索引擎、系统推荐以及机器翻译等的重要操作。 在诸如此类的应用程序中,研究人员经常使用一组名叫Learning to Rank的有监督机器学习技术。...因此,任何对构建真实世界数据密集型排名系统(如Web搜索或新闻推荐)感兴趣的人都可以使用TF-Ranking作为强大,可扩展的解决方案。 经验评估是任何机器学习或信息检索研究的重要组成部分。...TensorBoard中显示的训练步骤(X轴)的NDCG度量(Y轴)的示例。 它显示了训练期间指标的总体进度。 可以直接在仪表板上比较不同的方法。 可以根据指标选择最佳模型。...无偏(unbiased)Learning to Rank 先前的研究表明,给定一个项目的排序列表,用户更有可能与前几个结果交互,而不会考虑它们的相关性。...TF-Ranking与丰富的TensorFlow生态系统完美集成。 如上所述,你可以使用Tensorboard可视化NDCG和MRR等排名指标,以及使用这些指标选择最佳模型检查点。

    73330

    推荐系统中的排序学习

    这里我们这里只看矩阵分解。「当然BPR中的预测的分数无论在显示反馈还是隐式反馈情境下,都只是用来辅助度量相对排序,其评分并不作为实际的意义上的评分。」...对于 这个式子,我们要满足当 时, , 反之当 时, ,最简单的表示这个性质的方法就是 而 , ,就是我们的矩阵 对应位置的值。...而在抽象成损失函数时,RankNet实际上是引入了概率的思想:不是直接判断 排在 前面,而是说 以一定的概率P排在 前面,即是以预测概率与真实概率的差距最小作为优化目标。...可以看到当 时,模型预测的相关性分数 比 越大,其损失函数的值越小; 时, 比 越小,损失函数的值越小; 时,损失函数的最小值在 与 相等处取得。...由此便产生了多种目标,那如何将多种目标综合到一个模型里面进行学习,这就是推荐系统的多目标学习,而排序学习可以作为多目标学习的一种方法。

    2.6K63

    谷歌出品 | TIGER:生成式检索推荐系统

    另一方面,序列推荐器,它们明确考虑了用户-item交互的顺序,最近也很流行。当训练时,它们还通常在输出层中使用softmax,并在推理时转向使用ANN。 作者提出一种序列推荐器的生成检索模型的新范式。...这提供了一种替代高维度最近邻搜索或softmax推荐系统的方法。 (2)展示了TIGER在多个数据集上优于现有SOTA推荐系统的召回率和NDCG度量。...3.2 使用语义ID的生成检索 通过按照用户与之交互的item的时间顺序对每个用户构建item序列。然后,给定形式为(item1,...,item)的序列,推荐系统的任务是预测下一个项目item+1。...最后,当检索一组前K个候选项时,文中引入一个超参数,该参数指定最大比例的未看到的item被选择。 在图5中将TIGER与K最近邻(KNN)方法在冷启动推荐设置中的性能进行了比较。...4.4.2 推荐多样性。 虽然Recall和NDCG是评估推荐系统的主要指标,但预测多样性也是另一个重要的目标。预测多样性较差的推荐系统可能对用户的长期参与造成损害。

    1.8K10

    XGB4:Xgboost学习排序

    MAP 平均精度(Mean average precision MAP)是一个二进制度量标准。当相关性标签为0或1时,可以使用它。目标的名称是 rank:map。...本节包含一些有关如何选择超参数的提示,作为起点。可以通过调整这些超参数来进一步优化模型。 首先要考虑的问题是如何选择与手头任务相匹配的目标。...如果输入数据具有多级相关度度量,那么应该使用 rank:ndcg 或 rank:pairwise。然而,当输入具有二进制标签时,有多个基于目标度量的选项。...由于NDCG是一个多级度量,通常会生成比MAP更多的有效对数。 然而,当存在足够多的有效对时,[6] 表明将目标度量与目标函数匹配是重要的。...当目标度量为MAP且您使用可以提供足够多有效对的大型数据集时,rank:map 在理论上可以产生比 rank:ndcg 更高的MAP值。

    43821

    【干货】搜索和其他机器学习问题有什么不同?

    假设按均值来说,我们的预测跟实际股价的误差在1美元到2美元之间,我们可以认为系统预测的很好。 这种情况下的误差我们称之为残差,即实际值与预测值之间的差异:实际值-预测值。...但表象可能是骗人的,单文档学习排名的一个问题是获得正确排序的头部项通常比判断列表尾部的模糊项更加重要。基本上所有认知和位置偏差在最大化度量(如NDCG)下都会被忽略。...实际上,一个经常交换精准相关项和不太相关项,但可以准确地预测第50页较低的相关性等级的模型并不是很好。买家在前几个结果中看了些勉强相关的项目且没有被其打动时,所以他们离开了。...综上所述,当(1)该项在判断列表很重要时(TopOneP(doc.grade)很高),并且当我们的rangking函数f的TopOneP很低时,会产生更多的误差。...在图形中,你可以看到,使用线性回归运行上述相同的数据: ? RankSVM与List-Wise方法 你可以看到, RankSVM似乎仍然创建一个直接的、线性的相关性。我们知道现实往往是非线性的。

    96710

    机器学习-07-分类回归和聚类算法评估函数

    Precision和Recall是一对矛盾又统一的指标,当分类阈值越高时,模型的精确率越高,相反召回率越低。...MSE(Mean Square Error) MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。...NDCG 首先介绍CG(累计收益),模型会给推荐的每个item打分表示与当前用户的相关性。...NDCG(归一化折损累计增益),表示推荐系统对所有用户推荐结果DCG的一个平均值,由于每个用户的排序列表不一样,所以先对每个用户的DCG进行归一化,再求平均。...其归一化时使用的分母就是IDCG,指推荐系统为某一用户返回的最好推荐结果列表,即假设返回结果按照相关性排序,最相关的结果放在前面,此序列的DCG为IDCG。

    26910

    推荐 | 微软SAR近邻协同过滤算法解析(一)

    我们可以将所有项目的共现表示为 (代表item个数) 共现矩阵 具有以下特性: 对称的,所以 非负的: 事件至少与同时发生的一样大.即,每行(和列)的最大元素位于主对角线上...: lift: counts: 通常,使用 counts 作为相似性度量有利于可预测性,这意味着大多数时候都会推荐最受欢迎的项目.相反的....SAR包含两个可能影响用户亲和力的因素: 它可以通过不同事件的不同加权来考虑关于用户项交互的类型的信息(例如,它可以权衡用户对特定项目评级比用户查看项目的事件更重的事件)....当用户项目事件发生时,它可以考虑关于的信息(例如,它可以折扣在遥远的过去发生的事件的价值....将这些因素形式化为我们提供了用户项亲和关系的表达式: 亲和力 代表第 用户和第 个item是所有 事件(包括第 用户和第 个item) 的加权和。

    1.2K10

    初探Ranking系统的离在线满意度评估

    通过这种比较方式,我们可以更准确地衡量信息检索系统的有效性和准确性。 1.2 相关性 相关性是指信息与查询需求之间的匹配程度,它可以通过两种主要方式来衡量:二进制的布尔值或分级分数。...假设我们已经训练了一个电影推荐模型,并使用用户的观影历史为每个用户生成了一组预测结果(即系统认为用户可能喜欢的电影)。接下来,我们可以将这些推荐与用户在训练数据之外观看的内容进行比较。...简而言之,这些相关性判断是人类创建的标签,用于将文档按照其与特定查询的相关程度进行分类。这些判断通常被保存在文本文件中,可以作为测试集的一部分下载,也可以作为一种“基本事实”供研究使用。...在这个场景中,我们可以使用ranx Python包来演示如何在代码中评估推荐系统的有效性。...通过将用户分成不同的部分进行测试,我们可以衡量特定变化对用户行为的影响。 当涉及到评估一个信息检索系统时,颗粒度可能会有所不同。

    11910

    动态 | 谷歌开源 TF-Ranking:专用于排序学习的可扩展 TensorFlow 库

    TF-Ranking 快速且易用,并能创建高质量的排序模型,对构建 web 搜索或新闻推荐等基于真实世界数据的排序系统感兴趣的人,都可以将 TF-Ranking 作为强稳的、可扩展的解决方案。...排序是一种以最大化整个列表效用为目的,对项目列表进行排序的过程,适用于搜索引擎、推荐系统、机器翻译、对话系统,甚至还能用于计算生物学等众多领域。...因此,任何对构建 web 搜索或新闻推荐等基于真实世界数据的排序系统感兴趣的人,都可以将 TF-Ranking 作为强稳的、可扩展的解决方案。 经验评估是所有机器学习或信息检索研究的重要组成部分。...无偏见排序学习 此前的研究(https://ai.google/research/pubs/pub45286)表明,给定一个项目的排序列表,用户更有可能重点查看前面几个结果,而忽略结果之间的相关性。...如上所述,你可以使用 Tensorboard 将 NDCG 和 MRR 等排序评价指标可视化,以及使用这些评价指标选择最佳模型检查点。

    92930

    推荐 | 微软SAR近邻协同过滤算法拆解(二)

    一旦我们具有共生矩阵,就可以通过根据给定度量重新缩放共现来获得项目相似性矩阵 :Jaccard, lift, and counts (就是计数,其实等于没改变,没压缩/缩放)....) 累积增益CG,推荐系统中CG表示将每个推荐结果相关性的分值累加后作为整个推荐列表的得分: 其中,rel表示位置i的推荐结果的相关性,k表示推荐列表的大小。...DCG在CG的基础上引入了位置影响因素,计算公式如下: 从上面的式子可以得出:1)推荐结果的相关性越大,DCG越大。2)相关性好的排在推荐列表前面的话,推荐效果越好,DCG越大。...DCG针对不同的推荐列表之间很难进行横向评估,而我们评估一个推荐系统不可能仅使用一个用户的推荐列表及相应结果进行评估,而是对整个测试集中的用户及其推荐列表结果进行评估。...IDCG表示推荐系统某一用户返回的最好推荐结果列表, 即假设返回结果按照相关性排序, 最相关的结果放在最前面, 此序列的DCG为IDCG。

    1.1K20

    【排序学习】基于Pairwise和Listwise的排序学习

    在排序学习任务中,我们介绍基于RankLoss损失函数Pairwise排序模型和基于LambdaRank损失函数的Listwise排序模型(Pointwise学习策略见PaddleBook中推荐系统一课...排序学习的主要目的是对给定一组文档,对任意查询请求给出反映相关性的文档排序。...将Ui相关性比Uj好的概率记做Pi,j,则 ? 由于排序度量函数大多数非连续,非光滑,因此RankNet需要一个可以优化的度量函数C。首先使用交叉熵作为度量函数衡量预测代价,将损失函数C记做 ?...数据格式注意 数据中每条样本对应的文档数量都必须大于lambda_cost层的NDCG_num 若单条样本对应的文档都为0,文档相关性都为0,NDCG计算无效,那么可以判定该query无效,我们在训练中过滤掉了这样的...本例实验数据中的特征向量为查询-文档对的联合特征,当使用查询和文档的独立特征时,可参考DSSM构建网络。

    16.7K103

    构建可以查找相似图像的图像搜索引擎的深度学习技术详解

    在本文中将介绍如何查找相似图像的理论基础并且使用一个用于查找商标的系统为例介绍相关的技术实现,本文提供有关在图像检索任务中使用的推荐方法的背景信息。...使用用户上传的图像,通过模型获得嵌入,并将该嵌入与数据库(索引)中的其他图像的嵌入进行比较,并且搜索结果可以按照相关性排序。...它的主要度量是建立索引的速度、搜索的速度和消耗的内存。 最简单的方法是直接使用嵌入向量进行暴力的搜索,例如使用余弦距离。但是当有数据量很大时就会出现问题——数百万、数千万甚至更多。...优点:对precision@k中数字k的敏感性消失,度量变得稳定缺点:必须知道与查询请求相关的样本总数(如果不是所有相关的都被标记,会产生问题) 3、Recall@k 在 top-k 中找到的相关项目的比例...优点:客观稳定的检索质量评价缺点:必须知道与请求相关的样本的总数 5、nDCG (Normalized Discounted Gain) 该度量显示了 top-k 中的元素在它们之间的排序是否正确。

    1.1K20

    7个用于改进RAG系统的检索指标

    事实上,可以假设任何基于LLM的应用程序都以某种方式使用了RAG。...RAG中的检索组件可以独立评估,以判断检索器是否能够很好地满足用户查询需求。接下来,我们将介绍七种流行的指标,它们不仅适用于RAG系统,还广泛应用于搜索引擎、推荐系统等信息检索任务中。...准确率和召回率都为中等时,其 f1 分数会高于一个值非常高而另一个值非常低的情况。 该公式的特点是,当精确率或召回率较低时,F1分数会被惩罚;只有当两者都较高时,才能获得较高的F1分数。...这意味着单靠某一项指标无法使F1分数偏高。 优点: F1分数提供了一个单一、平衡的度量标准,可以轻松比较不同系统。然而,它不考虑排序,并且对精确率和召回率赋予相同的权重,这可能并不总是理想的。...其中, R(i) 是查询i的相关文档数量, Precision@k 是截断“k”时的精确率,rel@k是一个二进制标志,指示第k个文档的相关性。

    23310

    SIGIR2021 | 基于排序的推荐系统度量优化新视角

    本文分享一篇SIGIR’21的推荐系统文章:基于排序的推荐系统度量优化新视角。...通过四个数据集上的实验结果得到了以下观点: 使用同样的指标进行优化和评测基于排序的推荐系统并不总能得到最好的推荐性能。...根据上图结果可看出:1)当优化RR时性能较差,即便评测指标使用的也是RR,2)在pairwise的情况下,优化p=0.95的nRBP性能由于p=0.8/0.9的性能,3)优化nDCG,AP,nRBP性能差不多...通过上图显示,最好的pairwise和listwise性能都是在优化nRBP时得到。说明nRBP作为优化指标是有效的。...1)在pairwise方法上,当有大量的活跃用户可用于训练时,优化nDCG和AP比优化nRBP.95更有优势,2)在listwise方法上,相比于nDCG和AP,在CiteULike数据集上优化nRBP

    80060

    推荐系统遇上深度学习(二十一)--阶段性回顾

    在推荐系统中,CG即将每个推荐结果相关性(relevance)的分值累加后作为整个推荐列表(list)的得分。即 ?...而我们评估一个推荐系统,不可能仅使用一个用户的推荐列表及相应结果进行评估, 而是对整个测试集中的用户及其推荐列表结果进行评估。...假设样本的 n个特征属于 f个field,那么FFM的二次项有 nf个隐向量。而在FM模型中,每一维特征的隐向量只有一个。FM可以看作FFM的特例,是把所有特征都归属到一个field时的FFM模型。...下图中MLR模型用4个分片可以完美地拟合出数据中的菱形分类面。 ? 在实际中,MLR算法常用的形式如下,使用softmax作为分片函数: ?...Dice激活函数 使用PRelu作为激活函数时,存在一个问题,即我们认为分割点都是0,但实际上,分割点应该由数据决定,因此文中提出了Dice激活函数。

    2.9K30
    领券