Paras vastaus
RankNet, LambdaRank ja LambdaMART ovat kaikki mitä kutsumme Ranking-oppiminen -algoritmeja.
Mitä on sijoittumisen oppiminen?
Ranking-oppiminen (LTR) on luokka tekniikoita, joita sovelletaan valvottuina koneoppiminen (ML) sijoitusongelmien ratkaisemiseksi. Suurin ero LTR: n ja perinteisen valvotun ML: n välillä on tämä:
- Perinteinen ML ratkaisee ennustamisongelman (luokituksen tai regression) yhdellä instanssilla kerrallaan. Esim. jos havaitset roskapostin havaitsemisen sähköpostitse, tarkastelet kaikkia sähköpostiviestiin liittyviä ominaisuuksia ja luokitat sen roskapostiksi. Perinteisen ML: n tavoitteena on keksiä luokka (roskaposti tai ei-roskapostia) tai yksittäinen numeerinen pistemäärä kyseiselle instanssille.
- LTR ratkaisee luokitusongelman kohteiden luettelossa. LTR: n tavoitteena on löytää näiden tuotteiden optimaalinen järjestys. Sellaisena LTR ei välitä paljoakaan tarkoista pisteistä, jotka kukin kohde saa, mutta välittää enemmän suhteellisesta järjestyksestä kaikkien kohteiden välillä.
LTR: n yleisin sovellus on hakukone sijoitus, mutta se on hyödyllinen missä tahansa, missä sinun on tuotava järjestetty luettelo tuotteista.
LTR-mallin harjoitustiedot koostuvat luettelosta esineitä ja jokaisen kohteen ”totuuden” pisteet . Hakukoneiden sijoitusta varten tämä tarkoittaa luetteloa kyselystä ja kunkin tuloksen osuvuusluokan kyselyn suhteen. Yleisin tapa, jota suuret hakukoneet käyttävät näiden relevanssiluokkien luomiseen, on pyytää ihmisarvioijia arvioimaan tuloksia kyselyille. Jos olet kiinnostunut, olen kirjoittanut yksityiskohtaisesti ihmisten luokitusjärjestelmistä täältä: Nikhil Dandekarin vastaus kysymykseen Miten Google mittaa hakutulostensa laatua?
Teknisempi selitys oppimisesta sijoitteluun tarkista tämä Microsoft Researchin artikkeli: Lyhyt esittely sijoitusoppimisen oppimisesta
Mitä on RankNet, LambdaRank ja LambdaMART ?
RankNet, LambdaRank ja LambdaMART ovat kaikki Chris Burgesin ja hänen Microsoft Researchin kollegoidensa kehittämiä LTR-algoritmeja. RankNet kehitettiin ensimmäisenä, sen jälkeen LambdaRank ja sitten LambdaMART.
Kaikissa kolmessa tekniikassa sijoitus on muunnetaan pareittain luokittelu- tai regressio -ongelmaksi. Tämä tarkoittaa, että katsot alkionpareja kerrallaan, keksit optimaalisen järjestyksen kyseiselle alkuparille ja käytä sitten sitä keksimään kaikkien tulosten lopullinen sijoitus.
Tässä on joitain korkean tason yksityiskohtia kustakin algoritmista:
RankNet http://research.microsoft.com/en-us/um/people/cburges/papers/ICML\_ranking.pdf
RankNet kehitettiin alun perin hermoverkot, mutta taustalla oleva malli voi olla erilainen eikä sitä ole rajoitettu pelkästään hermoverkoille. RankNetin kustannustoiminnon tarkoituksena on minimoida inversioiden määrä sijoituksessa. Tällöin inversio tarkoittaa virheellistä järjestystä tulosparin välillä, ts. Kun sijoittamme matalamman tuloksen korkeamman luokitellun tuloksen yläpuolelle paremmuusjärjestykseen asetetussa luettelossa. RankNet optimoi kustannusfunktion käyttämällä stokastista kaltevuuslaskua.
LambdaRank http://research.microsoft.com/pubs/68133/lambdarank.pdf
Burgess et. al. havaitsi, että RankNet-harjoittelun aikana et tarvitse kustannuksia, tarvitset vain kustannusten kaltevuudet (\ lambda) mallipisteisiin nähden. Voit ajatella näitä liukuväriä pieninä nuolina, jotka on liitetty jokaiseen sijoitusluettelon asiakirjaan , mikä osoittaa, mihin suuntaan haluaisimme näiden asiakirjojen liikkuvan.
Lisäksi he havaitsivat, että kaltevuuksien skaalaus muutoksella NDCG , joka löytyi vaihtamalla kutakin asiakirjaparia, antoi hyviä tuloksia. LambdaRankin ydinajatuksena on käyttää tätä uutta kustannustoimintoa RankNetin kouluttamiseen. Kokeellisissa tietojoukoissa tämä näyttää sekä nopeuden että tarkkuuden parannuksia alkuperäiseen RankNetiin verrattuna.
LambdaMART http://research.microsoft.com/pubs/102750/LambdaMART\_Final.pdf
LambdaMART yhdistää LambdaRankin ja MART: n (Multiple Additive Regression Trees). Vaikka MART käyttää gradientilla tehostettuja päätöspuita ennustustehtävissä, La mbdaMART käyttää gradienttikorotettuja päätöspuita käyttämällä LambdaRankista johdettua kustannustoimintoa ranking-tehtävän ratkaisemiseen.Kokeellisissa tietojoukoissa LambdaMART on osoittanut parempia tuloksia kuin LambdaRank ja alkuperäinen RankNet.
Jos olet kiinnostunut, Chris Burgesilla on yksi artikkeli, jossa kerrotaan evoluutio RankNetistä LambdaRankiksi LambdaMART: iin: RankNetistä LambdaRankiin LambdaMART: Yleiskatsaus
Vastaus
Sijoituksen oppiminen on luokka ongelmia, jotka liittyvät koko tilauksen palauttamiseen joukon osajärjestyksestä, joka voidaan kuvata monin tavoin:
- kaikkien datapisteiden luokitukset
- pisteparit, joissa määritetään piste, jonka tulisi olla sijoittui korkeammalle
Tätä voidaan pitää regressio-ongelmana – ennustaa ominaisuusvektorin pisteet tai luokitusongelmaksi, jossa meidän on ennustettava, mikä piste kahdesta sijoittuu korkeammalle Näitä lähestymistapoja kutsutaan pisteiksi ja pareittain, ja ne ovat toistaiseksi eniten tutkittuja ja vankkoja menetelmiä.