La mejor respuesta
RankNet, LambdaRank y LambdaMART son lo que llamamos Aprendiendo a clasificar algoritmos.
¿Qué es aprender a clasificar?
Aprender a clasificar (LTR) es una clase de técnicas que se aplican aprendizaje automático (ML) para resolver problemas de clasificación . La principal diferencia entre LTR y ML supervisado tradicional es esta:
- ML tradicional resuelve un problema de predicción (clasificación o regresión) en una sola instancia a la vez. P.ej. Si está realizando una detección de correo no deseado en el correo electrónico, verá todas las funciones asociadas con ese correo electrónico y lo clasificará como correo no deseado o no. El objetivo del AA tradicional es crear una clase (spam o no spam) o una puntuación numérica única para esa instancia.
- LTR resuelve un problema de clasificación en una lista de elementos. El objetivo de LTR es conseguir un pedido óptimo de esos artículos. Como tal, a LTR no le importa mucho la puntuación exacta que obtiene cada elemento, pero se preocupa más por el orden relativo entre todos los elementos.
La aplicación más común de LTR es el motor de búsqueda clasificación, pero es útil en cualquier lugar donde necesite producir una lista clasificada de elementos.
Los datos de entrenamiento para un modelo LTR consisten en una lista de elementos y una puntuación de «verdad básica» para cada uno de esos elementos . Para la clasificación del motor de búsqueda, esto se traduce en una lista de resultados para una consulta y una calificación de relevancia para cada uno de esos resultados con respecto a la consulta. La forma más común utilizada por los principales motores de búsqueda para generar estas calificaciones de relevancia es pedir a los evaluadores humanos que califiquen los resultados de un conjunto de consultas. En caso de que esté interesado, he escrito en detalle sobre los sistemas de calificación humana aquí: La respuesta de Nikhil Dandekar a ¿Cómo mide Google la calidad de sus resultados de búsqueda?
Para obtener una explicación más técnica de Aprender a clasificar consulte este documento de Microsoft Research: Una breve introducción a aprender a clasificar
¿Qué es RankNet, LambdaRank y LambdaMART ?
RankNet, LambdaRank y LambdaMART son todos algoritmos LTR desarrollados por Chris Burges y sus colegas en Microsoft Research. RankNet fue el primero en ser desarrollado, seguido por LambdaRank y luego LambdaMART.
En las tres técnicas, la clasificación es transformado en un problema de clasificación por pares o regresión . Eso significa que observa pares de elementos a la vez, crea el orden óptimo para ese par de elementos y luego úsalo para pensar la clasificación final de todos los resultados.
Aquí hay algunos detalles de alto nivel para cada uno de los algoritmos:
RankNet http://research.microsoft.com/en-us/um/people/cburges/papers/ICML\_ranking.pdf
RankNet se desarrolló originalmente usando redes neuronales, pero el modelo subyacente puede ser diferente y no se limita solo a las redes neuronales. La función de costo de RankNet tiene como objetivo minimizar el número de inversiones en la clasificación. Aquí, una inversión significa un orden incorrecto entre un par de resultados, es decir, cuando clasificamos un resultado de calificación más baja por encima de un resultado de calificación más alta en una lista clasificada. RankNet optimiza la función de costo mediante el descenso de gradiente estocástico.
LambdaRank http://research.microsoft.com/pubs/68133/lambdarank.pdf
Burgess et. Alabama. descubrió que durante el procedimiento de capacitación de RankNet, no necesita los costos, solo necesita los gradientes (\ lambda) del costo con respecto a la puntuación del modelo. Puede pensar en estos gradientes como pequeñas flechas adjuntas a cada documento en la lista clasificada , indicando la dirección en la que nos gustaría que se muevan esos documentos.
Además, encontraron que escalar los gradientes por el cambio en NDCG encontrado al intercambiar cada par de documentos dio buenos resultados. La idea central de LambdaRank es utilizar esta nueva función de costo para entrenar un RankNet. En conjuntos de datos experimentales, esto muestra mejoras de velocidad y precisión con respecto al RankNet original.
LambdaMART http://research.microsoft.com/pubs/102750/LambdaMART\_Final.pdf
LambdaMART combina LambdaRank y MART (árboles de regresión aditiva múltiple). Mientras que MART utiliza árboles de decisión potenciados por gradientes para tareas de predicción, La mbdaMART utiliza árboles de decisión potenciados por gradientes mediante una función de coste derivada de LambdaRank para resolver una tarea de clasificación.En conjuntos de datos experimentales, LambdaMART ha mostrado mejores resultados que LambdaRank y el RankNet original.
Si está interesado, Chris Burges tiene un solo artículo que detalla la evolución de RankNet a LambdaRank a LambdaMART aquí: De RankNet a LambdaRank a LambdaMART: descripción general
Respuesta
Aprender a clasificar es una clase de problemas relacionados con la restauración del orden completo de un conjunto de su orden parcial que se puede describir de varias maneras:
- Calificaciones para todos los puntos de datos
- Pares de puntos, donde especificamos qué punto debe ser clasificado más alto
Esto podría verse como un problema de regresión: predecir el puntaje para un vector de características. O como un problema de clasificación, donde necesitamos predecir qué punto de los dos se clasificará más alto Estos enfoques se denominan puntuales y por pares, y son los métodos más robustos y más investigados por ahora.