Back to Classic ML Mind Map
中文·English
📊 Classic MLID: learning-to-rank

Learning to Rank

排序学习 LTR
🎯Core Definition
Learning to Rank formulates "score and order the candidate set for a query" as supervised learning in three paradigms: Pointwise regresses/classifies each document independently (e.g. CTR prediction) with no regard for relative order; Pairwise converts ranking into document-pair binary classification (document ii should rank above jj), e.g. RankNet and RankSVM, covering only local pairwise relations; Listwise optimizes a whole-list ranking metric directly, e.g. ListNet and LambdaRank. LambdaMART = GBDT + LambdaRank is the de-facto standard for tabular ranking. For each pair (i,j)(i, j) it defines the Lambda gradient: λij=σΔNDCG1+eσ(sisj)\lambda_{ij} = -\frac{\sigma \Delta NDCG}{1 + e^{\sigma(s_i - s_j)}}, where si,sjs_i, s_j are current scores, ΔNDCG\Delta NDCG is the NDCG change from swapping ii and jj, and σ\sigma controls the sigmoid steepness; the negative sign moves toward improving NDCG — a non-differentiable ranking metric weighting a differentiable pairwise gradient. Each document accumulates λi=jλij\lambda_i = \sum_j \lambda_{ij}, which the regression trees directly fit.
💡Use Cases
the core of search, recommendation and ad ranking; interview questions like "compare Pointwise/Pairwise/Listwise" or "where does LambdaMART's λ come from"; in practice, LightGBM/XGBoost rank objectives (lambdarank) train directly and position-sensitive metrics such as NDCG/MRR evaluate the result.
Key Problems Solved
Pointwise optimizes per-item error and ignores order (errors near the top cost more); Pairwise only handles pairwise relations and treats "1→2" and "99→100" equally; Listwise/LambdaMART uses ΔNDCG\Delta NDCG so the training objective matches the online metric — the higher the position and the more relevant the document, the larger the gradient weight — directly optimizing the non-differentiable NDCG.
🎯5 High-Frequency Exam Points
1
Compare Pointwise / Pairwise / Listwise: objective function, pros/cons and representative algorithms for each?
2
Write the LambdaMART gradient λij=σΔNDCG1+eσ(sisj)\lambda_{ij} = -\frac{\sigma \Delta NDCG}{1 + e^{\sigma(s_i - s_j)}}; explain the roles of ΔNDCG\Delta NDCG and σ\sigma, and why the negative sign?
3
Why does LambdaMART turn the non-differentiable NDCG into a differentiable regression target? What exactly does each GBDT tree fit?
4
How is LambdaRank's λ derived from RankNet's pairwise loss gradient?
5
Why use NDCG/MRR/GAUC instead of AUC for ranking? What is the essential difference from classification metrics?
Updated 2026-08-12
🎯
Test Your Knowledge: Practice Questions for "Learning to Rank"
Single choice pitfall questions with instant feedback and mistake tracking.
🚀 Start Card Practice
Previous CardData Drift & PSI

🔗 More Classic ML Knowledge Cards

AdaBoost DerivationBagging & Random ForestBaum-Welch (HMM EM)GBDT Negative Gradient