Meilleure réponse
RankNet, LambdaRank et LambdaMART sont ce que nous appelons Apprendre à classer les algorithmes.
Quest-ce quapprendre à classer?
Apprendre à classer (LTR) est une classe de techniques qui sappliquent sous supervision apprentissage automatique (ML) pour résoudre les problèmes de classement . La principale différence entre le LTR et le ML supervisé traditionnel est la suivante:
- Le ML traditionnel résout un problème de prédiction (classification ou régression) sur une seule instance à la fois. Par exemple. si vous effectuez une détection de spam sur e-mail, vous examinerez toutes les fonctionnalités associées à cet e-mail et le classerez comme spam ou non. Le but du ML traditionnel est de proposer une classe (spam ou non-spam) ou un seul score numérique pour cette instance.
- LTR résout un problème de classement sur une liste déléments. Le but de LTR est de proposer une commande optimale de ces articles. En tant que tel, LTR ne se soucie pas beaucoup du score exact que chaque élément obtient, mais se soucie davantage de lordre relatif entre tous les éléments.
Lapplication la plus courante de LTR est le moteur de recherche classement, mais il est utile partout où vous avez besoin de produire une liste classée déléments.
Les données dentraînement pour un modèle LTR se composent dune liste déléments et dun score de «vérité terrain» pour chacun de ces éléments . Pour le classement des moteurs de recherche, cela se traduit par une liste de résultats pour une requête et une évaluation de pertinence pour chacun de ces résultats par rapport à la requête. Le moyen le plus couramment utilisé par les principaux moteurs de recherche pour générer ces évaluations de pertinence est de demander à des évaluateurs humains dévaluer les résultats pour un ensemble de requêtes. Au cas où vous seriez intéressé, jai écrit en détail sur les systèmes de notation humaine ici: La réponse de Nikhil Dandekar à Comment Google mesure-t-il la qualité de ses résultats de recherche?
Pour une explication plus technique sur Apprendre à classer Consultez cet article de Microsoft Research: Une brève introduction à lapprentissage du classement
Quoi est RankNet, LambdaRank et LambdaMART ?
RankNet, LambdaRank et LambdaMART sont tous des algorithmes LTR développés par Chris Burges et ses collègues de Microsoft Research. RankNet a été le premier à être développé, suivi par LambdaRank puis LambdaMART.
Dans les trois techniques, le classement est transformé en un problème de de classification ou de régression par paires . Cela signifie que vous examinez des paires darticles à la fois, trouvez le classement optimal pour cette paire darticles, et puis utilisez-le pour trouver le classement final de tous les résultats.
Voici quelques détails de haut niveau pour chacun des algorithmes:
RankNet http://research.microsoft.com/en-us/um/people/cburges/papers/ICML\_ranking.pdf
RankNet a été initialement développé en utilisant réseaux neuronaux, mais le modèle sous-jacent peut être différent et nest pas limité aux réseaux neuronaux. La fonction de coût de RankNet vise à minimiser le nombre d inversions dans le classement. Ici, une inversion signifie un ordre incorrect parmi une paire de résultats, cest-à-dire lorsque nous classons un résultat moins bien noté au-dessus dun résultat mieux noté dans une liste classée. RankNet optimise la fonction de coût en utilisant la descente de gradient stochastique.
LambdaRank http://research.microsoft.com/pubs/68133/lambdarank.pdf
Burgess et. Al. a constaté que pendant la procédure de formation RankNet, vous navez pas besoin des coûts, vous navez besoin que des gradients (\ lambda) du coût par rapport au score du modèle. Vous pouvez considérer ces gradients comme de petites flèches attachées à chaque document dans la liste classée , indiquant la direction dans laquelle nous aimerions que ces documents se déplacent.
De plus, ils ont constaté que la mise à léchelle des dégradés par le changement de NDCG trouvé en échangeant chaque paire de documents a donné de bons résultats. Lidée principale de LambdaRank est dutiliser cette nouvelle fonction de coût pour entraîner un RankNet. Sur les ensembles de données expérimentaux, ceci montre à la fois des améliorations de vitesse et de précision par rapport au RankNet dorigine.
LambdaMART http://research.microsoft.com/pubs/102750/LambdaMART\_Final.pdf
LambdaMART combine LambdaRank et MART (arbres de régression additive multiple). Alors que MART utilise des arbres de décision boostés par gradient pour les tâches de prédiction, La mbdaMART utilise des arbres de décision boostés par gradient en utilisant une fonction de coût dérivée de LambdaRank pour résoudre une tâche de classement.Sur les jeux de données expérimentaux, LambdaMART a montré de meilleurs résultats que LambdaRank et le RankNet original.
Si vous êtes intéressé, Chris Burges a un seul article qui détaille lévolution de RankNet à LambdaRank à LambdaMART ici: De RankNet à LambdaRank à LambdaMART: un aperçu
Réponse
Apprendre à classer est une classe de problèmes liés à la restauration de lordre complet dun ensemble à partir de son ordre partiel qui peut être décrit de plusieurs manières:
- Notes pour tous les points de données
- Paires de points, où nous spécifions quel point doit être classé plus haut
Cela pourrait être considéré comme un problème de régression – prédire le score dun vecteur dentités. Ou comme un problème de classification, où nous devons prédire quel point des deux sera le mieux classé . Ces approches sont appelées point par point et par paire, et ce sont les méthodes les plus étudiées et les plus robustes pour le moment.