排名基础:点对、成对、列表
原文towardsdatascience.com/ranking-basics-pointwise-pairwise-listwise-cd5318f86e1b?sourcecollection_archive---------3-----------------------#2024-12-14因为邻近的对象很重要https://medium.com/kunals726?sourcepost_page---byline--cd5318f86e1b--------------------------------https://towardsdatascience.com/?sourcepost_page---byline--cd5318f86e1b-------------------------------- Kunal Santosh Sawant·发布于 Towards Data Science ·6 分钟阅读·2024 年 12 月 14 日–https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/54cb29c9cdd0f38ae586510bb08af75b.png图片来自 unsplash.com首先让我们讨论排名的作用。排名在电子商务和搜索应用中非常重要——基本上是任何需要根据查询来组织文档的场景。这与经典的分类或回归问题有些不同。例如在泰坦尼克号数据集中你预测乘客是否幸存在房价预测中你估计房子的价格。但在排名中情况不同。你不是在预测单一的值或类别而是在尝试根据相关性对文档进行排序。举个例子你在像亚马逊这样的电子商务网站上搜索“纱丽”。你不想要一个随机的纱丽列表你希望最相关的产品出现在顶部对吧这就是学习排序LTR的作用——它根据文档或产品与查询的匹配程度来对它们进行排名。现在我们已经了解了排名的作用让我们深入探讨不同的排名方法和技术。学习排序LTR有三种主要方法点对Pointwise成对Pairwise列表Listwise为了更容易理解让我们先定义一些符号用于解释这些方法。我们将处理一组查询q1, q2, …, qn每个查询都有对应的一组文档d1, d2, d3, …, dm。例如查询q1与文档d1,d2,d3相关联。查询q2与文档d4,d5相关联。既然我们已经了解了排名的定位让我们深入分析每种方法及其如何解决排名问题。点对Pointwise在点对点方法中我们将排名问题视为一个简单的分类任务。对于每个查询-文档对我们分配一个目标标签表示文档与查询的相关性。例如标签1表示文档相关。标签0表示文档不相关。以我们之前的例子为例数据看起来是这样的q1,d1→标签: 1q1,d2→标签: 0q1,d3→标签: 1q2,d4→标签: 0q2,d5→标签: 1我们使用这些标注数据训练模型利用查询和文档中的特征来预测标签。训练完成后模型会预测每个文档与给定查询的相关性作为一个概率值范围从 0 到 1。这个概率值可以解释为相关性分数。例如训练后模型可能会生成以下分数q1​,d1​→分数: 0.6q1,d2→分数: 0.1q1,d3→分数: 0.4使用这些分数我们将文档按相关性降序重新排序d1,d3,d2。然后将这个新的排序呈现给用户确保最相关的文档出现在最前面。成对比点对点方法的主要缺点是它忽略了用户与文档互动时的上下文。当用户点击或认为某个文档相关时往往有多个因素在起作用——其中一个最重要的因素就是邻近项。例如如果用户点击了某个文档这并不一定意味着该文档非常相关。可能只是因为展示的其他文档质量较差。类似地如果你为相同的查询展示了一组不同的文档用户的互动可能会完全不同。想象一下对于查询q1我们展示了d4​。如果d4​比d1​更相关用户可能会点击d4​而不是d1。在点对点方法中这种文档之间的比较完全被忽视。为了捕捉这种相对相关性我们转向了成对比方法。在成对比方法中我们不是单独看查询-文档对而是聚焦于同一查询下的文档对并尝试预测哪个文档更相关。这有助于结合文档之间的比较上下文。我们现在会类似地生成数据但我们使用它的方式会稍微复杂一些。接下来我们将分解它。想象一下成对比方法的训练数据结构如下q1,(d1,d2)→标签: 1表示d1​比d2​更相关q1,(d2,d3)→标签: 0表示d2​比d3​不太相关q1,(d1,d3)→标签: 1表示d1比d3​更相关q2,(d4,d5)→标签: 0表示d4比d5​不太相关在这里我们根据用户的互动分配标签。例如d1和d3都被点击表示它们相关因此我们保持它们的顺序便于在此解释。模型训练过程尽管训练数据是成对的但模型并不会直接处理这些对。相反我们将其类似于分类问题处理每个查询-文档对都会单独传递给模型。例如s1 f(q1,d1)s2 f(q1,d2)s3 f(q1,d3)模型为文档生成评分s1,s2,s3。这些评分用于比较文档对的相关性。惩罚模型如果模型预测的评分违反了真实的相关性顺序那么它会受到惩罚。例如如果s1s2但训练数据表明d1d2则模型会受到惩罚因为它未能将d1排在d2之前。如果s2s3并且训练数据表明d2d3那么模型做对了因此不需要惩罚。这种成对比较帮助模型学习文档的相对顺序而不是像点对点方法那样仅预测独立的相关性评分。挑战实现成对模型的主要挑战之一是计算复杂度——因为我们需要比较所有可能的文档对这一过程的规模是 O(n²)。此外成对方法并不考虑文档的全局排序它们仅在比较过程中关注个别对这可能导致整体排序的不一致。Listwise在 Listwise 排序中目标是基于文档与查询的相关性来优化整个文档列表。与其单独处理每个文档不如专注于它们在列表中出现的顺序。以下是 ListNet 和 LambdaRank 中工作原理的分解NDCG归一化折扣累积增益我将在另一篇博客中深入探讨 NDCG但现在可以把它看作一种衡量项目排序与其相关性匹配程度的方式。它奖励相关项目出现在列表顶部并对评分进行归一化以便更容易进行比较。在 Listwise 排序中如果你有一个文档列表d1, d2, d3模型会考虑这些文档的所有可能排列(d1, d2, d3)(d1, d3, d2)(d2, d1, d3)(d2, d3, d1)(d3, d1, d2)(d3, d2, d1)训练过程评分预测模型为列表中的每个文档预测一个评分文档将根据这些评分进行排序。例如s1 f(q1,d1), s2 f(q1,d2)理想排序理想排序是通过根据文档的真实相关性对其进行排序来计算的。例如d1可能是最相关的其次是d2然后是d3。NDCG 计算NDCG 是针对每个文档列表的排列进行计算的。它检查预测排序与理想排序的接近程度同时考虑到文档的相关性和位置。惩罚错误排序如果预测排序与理想排序不同NDCG 分数将下降。例如如果理想排序是***(d1, d3, d2)而模型排序为(d2, d1, d3)***那么 NDCG 分数会较低因为最相关的文档d1)没有排在最前面。梯度计算模型根据如果调整文档顺序NDCG 分数会发生的变化来计算梯度。这些梯度指引模型如何改进预测。这个过程帮助模型学习如何优化整个排序列表提高呈现给用户的文档的相关性。总结在学习排序Learning to Rank中并没有一种通用的解决方案。基于点的模型非常容易设置和更新但它们并不总是考虑到文档之间的相互关系。也就是说如果你需要一个简单且快速的方法它们是一个很好的选择。另一方面**成对排序pairwise和列表排序listwise方法更为强大因为它们考虑了文档之间的相互比较。但是这种力量带来了更多的复杂性而且列表排序由于训练的高复杂度可能会成为一个真正的挑战。就我个人而言我认为***成对排序pairwise***方法是一个很好的平衡点。它在复杂性和性能之间达到了良好的平衡使其在许多情况下都很理想。最终你选择的方法确实取决于你的具体情况。你的数据集有多大且多复杂了解每种方法的优缺点将帮助你选择最适合你需求的方法。今天的内容就到这里敬请期待下一部分在那之前祝你排序愉快参考文献从 RankNet 到 LambdaRank 再到 LambdaMART概述学习排序从成对排序方法到列表排序方法学习排序简介

相关新闻

解锁NCM文件转换:ncmdumpGUI的全方位应用指南

解锁NCM文件转换:ncmdumpGUI的全方位应用指南

解锁NCM文件转换:ncmdumpGUI的全方位应用指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 一、核心功能解析:从技术原理到界面操作 …

2026/7/3 3:38:31 阅读更多 →
六轴机械臂DIY(五)MATLAB机器人工具箱进阶应用与路径规划

六轴机械臂DIY(五)MATLAB机器人工具箱进阶应用与路径规划

1. 从模型到灵魂:MATLAB机器人工具箱进阶之旅 在上一篇文章里,我们完成了六轴机械臂的DH法建模,并在MATLAB机器人工具箱里让一个虚拟的机械臂模型“站”了起来。这感觉就像你刚组装好一台电脑,点亮了屏幕,看到了桌面。…

2026/7/2 19:47:47 阅读更多 →
MSYS2环境下Qt开发环境搭建与疑难解决指南

MSYS2环境下Qt开发环境搭建与疑难解决指南

1. 为什么选择MSYS2来搭建Qt开发环境? 如果你是一个C开发者,尤其是刚从Linux或macOS转到Windows平台,或者单纯厌倦了Visual Studio那庞大的身躯和复杂的配置,那么MSYS2绝对是一个让你眼前一亮的“瑞士军刀”。我自己在Windows上做…

2026/5/17 0:45:30 阅读更多 →

最新新闻

神经网络概念优先教学:从认知直觉到灰盒理解

神经网络概念优先教学:从认知直觉到灰盒理解

1. 项目概述:这不是又一本“手撕矩阵”的神经网络书“NN#6 — Neural Networks Decoded: Concepts Over Code”这个标题一出来,我就在咖啡机旁多按了两次萃取键——不是因为兴奋,而是本能地警觉。过去十年里,我带过三十多个AI方向…

2026/7/3 19:49:06 阅读更多 →
XGBoost面试深水区:从参数调优到系统诊断的实战逻辑

XGBoost面试深水区:从参数调优到系统诊断的实战逻辑

1. 这不是一份“背诵清单”,而是一份XGBoost面试实战手记我带过二十多届数据科学方向的实习生,也作为技术面试官参与过上百场中高级算法岗的终面。每次聊到XGBoost,总有人一上来就背“XGBoost是GBDT的工程优化版本”“用了二阶泰勒展开”——…

2026/7/3 19:49:06 阅读更多 →
一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内的 internal 类型…

2026/7/3 19:47:05 阅读更多 →
PIC18F87K22与DS28EC20的1-Wire EEPROM存储方案

PIC18F87K22与DS28EC20的1-Wire EEPROM存储方案

1. 项目背景与核心需求 在嵌入式系统开发中,持久化存储用户设置和偏好是一个常见但关键的需求。想象一下,你开发了一个智能温控器,用户精心调整的温度偏好、定时设置和界面主题,如果每次断电后都需要重新设置,那体验会…

2026/7/3 19:47:05 阅读更多 →
如何修复Android设备认证问题:Play Integrity Fix完全指南

如何修复Android设备认证问题:Play Integrity Fix完全指南

如何修复Android设备认证问题:Play Integrity Fix完全指南 【免费下载链接】PlayIntegrityFix Fix Play Integrity (and SafetyNet) verdicts. 项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix 你是否曾经遇到过这种情况:解锁…

2026/7/3 19:47:05 阅读更多 →
DCS部署指南:生产环境数据收集服务最佳实践

DCS部署指南:生产环境数据收集服务最佳实践

DCS部署指南:生产环境数据收集服务最佳实践 【免费下载链接】dcs DCS(Data Colleciton Service) is a service for collecting performance data. 项目地址: https://gitcode.com/openeuler/dcs 前往项目官网免费下载:https://ar.openeuler.org/a…

2026/7/3 19:45:04 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻