Wat is de intuïtieve uitleg van Learning to Rank en algoritmen zoals RankNet, LambdaRank en LambdaMART? In welke soorten gegevens / variabelen kunnen deze technieken worden gebruikt? Wat zijn hun sterke punten en beperkingen?

Beste antwoord

RankNet, LambdaRank en LambdaMART zijn allemaal wat we noemen Leren rangschikken algoritmen.

Wat is leren rangschikken?

Leren rangschikken (LTR) is een klasse van technieken die machine learning (ML) om rankingproblemen op te lossen. Het belangrijkste verschil tussen LTR en traditionele ML onder supervisie is dit:

  • Traditionele ML lost een voorspellingsprobleem (classificatie of regressie) op voor één instantie tegelijk. Bijv. als u spamdetectie op e-mail uitvoert, zult u alle functies bekijken die aan die e-mail zijn gekoppeld en deze als spam classificeren of niet. Het doel van traditionele ML is om een ​​klasse (spam of geen spam) of een enkele numerieke score voor die instantie te bedenken.
  • LTR lost een rangschikkingsprobleem op een lijst met items op. Het doel van LTR is om tot een optimale ordening van die artikelen te komen. Als zodanig geeft LTR niet veel om de exacte score die elk item krijgt, maar geeft meer om de relatieve volgorde van alle items.

De meest gebruikelijke toepassing van LTR is de zoekmachine ranking, maar het is overal nuttig om een ​​gerangschikte lijst met items te maken.

De trainingsgegevens voor een LTR-model bestaan ​​uit een lijst met items en een “ground truth” -score voor elk van die items . Voor de rangschikking van zoekmachines vertaalt dit zich in een lijst met resultaten voor een zoekopdracht en een relevantiebeoordeling voor elk van die resultaten met betrekking tot de zoekopdracht. De meest gebruikelijke manier die door grote zoekmachines wordt gebruikt om deze relevantiebeoordelingen te genereren, is door menselijke beoordelaars te vragen de resultaten voor een reeks zoekopdrachten te beoordelen. Voor het geval je geïnteresseerd bent, ik heb hier in detail geschreven over menselijke beoordelingssystemen: Nikhil Dandekars antwoord op Hoe meet Google de kwaliteit van hun zoekresultaten?

Voor een meer technische uitleg van Learning to Rank bekijk dit artikel van Microsoft Research: Een korte introductie tot leren rangschikken

Wat is RankNet, LambdaRank en LambdaMART ?

RankNet, LambdaRank en LambdaMART zijn allemaal LTR-algoritmen die zijn ontwikkeld door Chris Burges en zijn collegas bij Microsoft Research. RankNet was de eerste die werd ontwikkeld, gevolgd door LambdaRank en vervolgens LambdaMART.

In alle drie de technieken is ranking omgezet in een paarsgewijze classificatie of regressie probleem. Dat betekent dat u naar paren items tegelijk kijkt, de optimale volgorde voor dat paar items bedenkt, en gebruik het dan om te bedenken het eindklassement voor alle resultaten.

Hier zijn enkele details op hoog niveau voor elk van de algoritmen:

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

RankNet is oorspronkelijk ontwikkeld met neurale netten, maar het onderliggende model kan verschillen en is niet beperkt tot alleen neurale netten. De kostenfunctie voor RankNet is bedoeld om het aantal inversies in de rangschikking te minimaliseren. Hier betekent een inversie een onjuiste volgorde tussen een paar resultaten, d.w.z. wanneer we een lager beoordeeld resultaat boven een hoger beoordeeld resultaat in een gerangschikte lijst plaatsen. RankNet optimaliseert de kostenfunctie met behulp van Stochastic Gradient Descent.

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

Burgess et. al. ontdekte dat je tijdens de RankNet-trainingsprocedure de kosten niet nodig hebt, alleen de hellingen (\ lambda) van de kosten met betrekking tot de modelscore. Je kunt deze hellingen zien als pijltjes die aan elk document in de gerangschikte lijst zijn bevestigd , waarmee wordt aangegeven in welke richting we die documenten willen verplaatsen.

Verder ontdekten ze dat het schalen van de verlopen door de verandering in NDCG gevonden door elk paar documenten te verwisselen, gaf goede resultaten. Het kernidee van LambdaRank is om deze nieuwe kostenfunctie te gebruiken voor het trainen van een RankNet. Bij experimentele datasets toont zowel snelheids- als nauwkeurigheidsverbeteringen ten opzichte van het oorspronkelijke RankNet.

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

LambdaMART combineert LambdaRank en MART (Multiple Additive Regression Trees). Terwijl MART gebruikt beslissingsbomen met gradiëntverhoging voor voorspellingstaken, La mbdaMART maakt gebruik van beslissingsbomen met gradiëntverhoging met behulp van een kostenfunctie afgeleid van LambdaRank voor het oplossen van een rangschikkingstaak.Op experimentele datasets heeft LambdaMART betere resultaten laten zien dan LambdaRank en het originele RankNet.

Als je geïnteresseerd bent, Chris Burges heeft een enkel artikel dat de evolutie van RankNet naar LambdaRank naar LambdaMART hier beschrijft: Van RankNet naar LambdaRank naar LambdaMART: een overzicht

Antwoord

Leren rangschikken is een klasse van problemen die verband houden met het herstellen van de volledige volgorde van een set uit zijn gedeeltelijke volgorde die op verschillende manieren kan worden beschreven:

  • Ratings voor alle gegevenspunten
  • Puntenparen, waar we specificeren welk punt moet worden hoger gerangschikt

Dit kan worden gezien als een regressieprobleem – voorspel de score voor een kenmerkvector. Of als een classificatieprobleem, waarbij we moeten voorspellen welk punt van de twee hoger zal worden gerangschikt Deze benaderingen worden puntsgewijs en paarsgewijs genoemd, en het zijn momenteel de meest onderzochte en robuuste methoden.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *