返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: learning-to-rank

排序学习 LTR

Learning to Rank
🎯核心定义
排序学习(Learning to Rank)把“给 query 的候选集打分排序”建模为监督学习,三类范式: Pointwise 逐文档回归/分类(如 CTR 预估),只拟合单个文档与相关性的关系,完全不看相对顺序;Pairwise 把排序转为文档对二分类(文档 ii 应排在 jj 前),代表 RankNet、RankSVM,损失只覆盖局部两两关系;Listwise 直接以整个列表为单位优化排序指标,代表 ListNet、LambdaRank。LambdaMART = GBDT + LambdaRank,是工业界 tabular 排序的事实标准,对每个文档对 (i,j)(i, j) 定义 Lambda 梯度: λij=σΔNDCG1+eσ(sisj)\lambda_{ij} = -\frac{\sigma \Delta NDCG}{1 + e^{\sigma(s_i - s_j)}},其中 si,sjs_i, s_j 为当前得分、ΔNDCG\Delta NDCG 是交换 i,ji, j 位置引起的 NDCG 变化量、σ\sigma 控制 sigmoid 陡峭度;负号表示沿提升 NDCG 的方向更新——用不可导的排序指标变化量为可导的 pairwise 梯度加权,每个文档累积 λi=jλij\lambda_i = \sum_j \lambda_{ij},回归树直接拟合该目标。
💡使用场景
搜索引擎、推荐、广告排序的核心技术;面试常问“Pointwise/Pairwise/Listwise 区别”“LambdaMART 的 λ 是怎么来的”;工程上用 LightGBM/XGBoost 的 rank 目标(lambdarank)直接训练,评估用 NDCG/MRR 等位置敏感指标。
解决的核心痛点
Pointwise 优化单点误差、无视顺序(位置越靠前错误代价越大);Pairwise 只处理两两关系,对“排名 1→2”和“排名 99→100”一视同仁;Listwise/LambdaMART 用 ΔNDCG\Delta NDCG 让优化目标逼近线上指标——排名越靠前、文档越相关,梯度权重越大,从而直接优化不可导的 NDCG。
🎯5 个高频面试考点 (Exam Points)
1
对比 Pointwise / Pairwise / Listwise 三类范式: 各自的目标函数、优缺点与代表算法?
2
写出 LambdaMART 的梯度 λij=σΔNDCG1+eσ(sisj)\lambda_{ij} = -\frac{\sigma \Delta NDCG}{1 + e^{\sigma(s_i - s_j)}},解释 ΔNDCG\Delta NDCGσ\sigma 的作用,以及负号的含义?
3
为什么说 LambdaMART 把不可导的 NDCG 变成了可导的回归目标?GBDT 每棵树拟合的到底是什么?
4
RankNet 的 pairwise 损失与 LambdaRank 的 λ 是什么关系(λ 如何从 RankNet 梯度推导出来)?
5
排序任务为什么用 NDCG/MRR/GAUC 而不是 AUC?位置敏感性与分类指标的本质区别是什么?
📖 关联深度指南:📄 ml-math-and-eval-metrics
更新于 2026-08-12
🎯
检验攻克程度:针对「排序学习 LTR」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点数据漂移与 PSI

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合