Qual è la spiegazione intuitiva di Learning to Rank e algoritmi come RankNet, LambdaRank e LambdaMART? In quali tipi di dati / variabili possono essere utilizzate queste tecniche? Quali sono i loro punti di forza e i loro limiti?

Migliore risposta

RankNet, LambdaRank e LambdaMART sono tutti ciò che chiamiamo Imparare a classificare algoritmi.

Che cosè imparare a classificarsi?

Imparare a classificare (LTR) è una classe di tecniche che si applicano sotto la supervisione machine learning (ML) per risolvere problemi di posizionamento . La principale differenza tra LTR e ML tradizionale con supervisione è questa:

  • Il ML tradizionale risolve un problema di previsione (classificazione o regressione) su una singola istanza alla volta. Per esempio. se stai effettuando il rilevamento dello spam su e-mail, esaminerai tutte le funzionalità associate a tale e-mail e le classificherai come spam o meno. Lo scopo del ML tradizionale è quello di creare una classe (spam o no-spam) o un singolo punteggio numerico per quellistanza.
  • LTR risolve un problema di classificazione su un elenco di elementi. Lo scopo di LTR è trovare un ordinamento ottimale di tali articoli. In quanto tale, LTR non si preoccupa molto del punteggio esatto ottenuto da ciascun elemento, ma si preoccupa di più dellordinamento relativo tra tutti gli elementi.

Lapplicazione più comune di LTR è il motore di ricerca classifica, ma è utile ovunque sia necessario produrre un elenco classificato di elementi.

I dati di addestramento per un modello LTR consistono in un elenco di elementi e un punteggio “verità di base” per ciascuno di questi elementi . Per il posizionamento nei motori di ricerca, questo si traduce in un elenco di risultati per una query e una valutazione di pertinenza per ciascuno di quei risultati rispetto alla query. Il modo più comune utilizzato dai principali motori di ricerca per generare queste valutazioni di rilevanza è chiedere ai valutatori umani di valutare i risultati per una serie di query. Nel caso foste interessati, ho scritto in dettaglio sui sistemi di valutazione umana qui: La risposta di Nikhil Dandekar a In che modo Google misura la qualità dei risultati di ricerca?

Per una spiegazione più tecnica di Learning to Rank controlla questo documento di Microsoft Research: A Short Introduction to Learning to Rank

Cosa è RankNet, LambdaRank e LambdaMART ?

RankNet, LambdaRank e LambdaMART sono tutti algoritmi LTR sviluppati da Chris Burges e dai suoi colleghi di Microsoft Research. RankNet è stato il primo ad essere sviluppato, seguito da LambdaRank e poi LambdaMART.

In tutte e tre le tecniche, il ranking è trasformato in un problema di classificazione a coppie o regressione . Ciò significa che guardi le coppie di elementi alla volta, trovi lordine ottimale per quella coppia di elementi e quindi usalo per inventare la classifica finale di tutti i risultati.

Di seguito sono riportati alcuni dettagli di alto livello per ciascuno degli algoritmi:

RankNet http://research.microsoft.com/en-us/um/people/cburges/papers/ICML\_ranking.pdf

RankNet è stato originariamente sviluppato utilizzando reti neurali, ma il modello sottostante può essere diverso e non è limitato alle sole reti neurali. La funzione di costo per RankNet mira a ridurre al minimo il numero di inversioni nella classifica. In questo caso uninversione indica un ordine errato tra una coppia di risultati, ovvero quando classifichiamo un risultato con valutazione inferiore sopra un risultato con valutazione più alta in una lista classificata. RankNet ottimizza la funzione di costo utilizzando Stochastic Gradient Descent.

LambdaRank http://research.microsoft.com/pubs/68133/lambdarank.pdf

Burgess et. al. ha scoperto che durante la procedura di formazione RankNet, non sono necessari i costi, ma solo i gradienti (\ lambda) del costo rispetto al punteggio del modello. Puoi pensare a questi gradienti come piccole frecce attaccate a ciascun documento nella graduatoria , indicando la direzione in cui vorremmo che quei documenti si spostassero.

Inoltre hanno scoperto che il ridimensionamento dei gradienti tramite la modifica NDCG trovato scambiando ogni coppia di documenti ha dato buoni risultati. Lidea principale di LambdaRank è quella di utilizzare questa nuova funzione di costo per addestrare un RankNet. Su set di dati sperimentali, questo mostra miglioramenti sia della velocità che della precisione rispetto al RankNet originale.

LambdaMART http://research.microsoft.com/pubs/102750/LambdaMART\_Final.pdf

LambdaMART combina LambdaRank e MART (più alberi di regressione additiva). Mentre MART utilizza alberi decisionali con aumento del gradiente per attività di previsione, La mbdaMART utilizza alberi decisionali con aumento del gradiente utilizzando una funzione di costo derivata da LambdaRank per risolvere unattività di classificazione.Su set di dati sperimentali, LambdaMART ha mostrato risultati migliori rispetto a LambdaRank e RankNet originale.

Se sei interessato, Chris Burges ha un unico documento che descrive in dettaglio levoluzione da RankNet a LambdaRank a LambdaMART qui: Da RankNet a LambdaRank a LambdaMART: una panoramica

Risposta

Imparare a classificare è una classe di problemi legati al ripristino dellordine completo di un insieme dal suo ordine parziale che può essere descritto in diversi modi:

  • Valutazioni per tutti i punti di dati
  • Coppie di punti, dove specifichiamo quale punto dovrebbe essere classificato più in alto

Questo potrebbe essere visto come un problema di regressione: prevedere il punteggio per un vettore di caratteristiche. O come un problema di classificazione, in cui dobbiamo prevedere quale punto dei due sarà classificato più in alto Questi approcci sono chiamati pointwise e pairwise e per ora sono i metodi più ricercati e robusti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *