Hva er den intuitive forklaringen på Learning to Rank og algoritmer som RankNet, LambdaRank og LambdaMART? I hvilke typer data / variabler kan disse teknikkene brukes? Hva er deres styrker og begrensninger?

Beste svaret

RankNet, LambdaRank og LambdaMART er alt det vi kaller Lære å rangere algoritmer.

Hva er å lære å rangere?

Å lære å rangere (LTR) er en klasse teknikker som gjelder overvåket maskinlæring (ML) for å løse rangeringsproblemer . Hovedforskjellen mellom LTR og tradisjonell overvåket ML er denne:

  • Tradisjonell ML løser et prediksjonsproblem (klassifisering eller regresjon) på en enkelt forekomst om gangen. F.eks. hvis du gjør spamoppdagelse på e-post, vil du se på alle funksjonene som er knyttet til den e-posten og klassifisere den som spam eller ikke. Målet med tradisjonell ML er å komme opp med en klasse (spam eller no-spam) eller en enkelt numerisk poengsum for den saken.
  • LTR løser et rangeproblem på en liste over varer. Målet med LTR er å komme opp med optimal bestilling av disse artiklene. Som sådan bryr LTR seg ikke så mye om den eksakte poengsummen hvert element får, men bryr seg mer om den relative ordren blant alle elementene.

Den vanligste bruken av LTR er søkemotoren. rangering, men det er nyttig hvor som helst du trenger for å lage en rangert liste over elementer.

Opplæringsdataene for en LTR-modell består av en liste over elementer og en «bakkesannhetspoeng» for hvert av disse elementene . For rangering av søkemotorer, oversettes dette til en liste over resultater for et søk og en relevansvurdering for hvert av disse resultatene med hensyn til spørringen. Den vanligste måten som store søkemotorer bruker for å generere disse relevansvurderinger, er å be menneskelige rangere om å rangere resultatene for et sett med spørsmål. I tilfelle du er interessert, har jeg skrevet i detalj om menneskelige vurderingssystemer her: Nikhil Dandekars svar på Hvordan måler Google kvaliteten på søkeresultatene?

For en mer teknisk forklaring på å lære å rangere sjekk denne artikkelen fra Microsoft Research: En kort introduksjon til å lære å rangere

Hva er RankNet, LambdaRank og LambdaMART ?

RankNet, LambdaRank og LambdaMART er alle LTR-algoritmer utviklet av Chris Burges og hans kolleger i Microsoft Research. RankNet var den første som ble utviklet, etterfulgt av LambdaRank og deretter LambdaMART.

I alle tre teknikkene er rangering forvandlet til et parvis klassifisering eller regresjon -problem. Det betyr at du ser på par av gangene om gangen, kommer opp med den optimale bestillingen for det paret, og bruk den til å finne på den endelige rangeringen for alle resultatene.

Her er noen detaljer på høyt nivå for hver av algoritmene:

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

RankNet ble opprinnelig utviklet med nevrale garn, men den underliggende modellen kan være annerledes og er ikke begrenset til bare nevrale garn. Kostnadsfunksjonen for RankNet har som mål å minimere antall inversjoner i rangering. Her betyr en inversjon en feil rekkefølge blant et par resultater, dvs. når vi rangerer et lavere rangert resultat over et høyere rangert resultat i en rangert liste. RankNet optimaliserer kostnadsfunksjonen ved hjelp av Stochastic Gradient Descent.

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

Burgess et. al. fant ut at du under RankNet-opplæringsprosedyren ikke trenger kostnadene, bare trenger gradientene (\ lambda) av kostnadene med hensyn til modellpoengsummen. Du kan tenke på disse gradientene som små piler knyttet til hvert dokument i rangert liste , som indikerer retningen vi vil at disse dokumentene skal bevege seg.

Videre fant de at skalering av gradienter ved endring i NDCG funnet ved å bytte hvert dokumentpar ga gode resultater. Kjernetanken til LambdaRank er å bruke denne nye kostnadsfunksjonen til å trene et RankNet. På eksperimentelle datasett er dette viser både hastighets- og nøyaktighetsforbedringer i forhold til det opprinnelige RankNet.

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

LambdaMART kombinerer LambdaRank og MART (Multiple Additive Regression Trees). Mens MART bruker gradientforsterkede beslutningstrær for prediksjonsoppgaver, La mbdaMART bruker gradientforsterkede beslutningstrær ved hjelp av en kostnadsfunksjon avledet fra LambdaRank for å løse en rangeringsoppgave.På eksperimentelle datasett har LambdaMART vist bedre resultater enn LambdaRank og den opprinnelige RankNet.

Hvis du er interessert, har Chris Burges et enkelt papir som beskriver utviklingen fra RankNet til LambdaRank til LambdaMART her: Fra RankNet til LambdaRank til LambdaMART: En oversikt

Svar

Å lære å rangere er en klasse problemer knyttet til å gjenopprette full ordre av et sett fra den delvise rekkefølgen som kan beskrives på flere måter:

  • Rangeringer for alle datapunkter
  • Poengpar, der vi spesifiserer hvilket punkt som skal være rangert høyere

Dette kan sees på som et regresjonsproblem – forutsi poengsummen for en funksjonsvektor. Eller som et klassifiseringsproblem, der vi trenger å forutsi hvilket punkt av de to som vil bli rangert høyere Disse tilnærmingene kalles punktvis og parvis, og de er de mest etterforskede og robuste metodene for nå.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *