Jaké je intuitivní vysvětlení Learning to Rank a algoritmů jako RankNet, LambdaRank a LambdaMART? V jakých typech dat / proměnných lze tyto techniky použít? Jaké jsou jejich silné stránky a omezení?


Nejlepší odpověď

RankNet, LambdaRank a LambdaMART jsou tím, čemu říkáme Naučit se hodnotit algoritmy.

Co je Learning to Rank?

Learning to Rank (LTR) je třída technik, které platí pod dohledem strojové učení (ML) k řešení problémů s hodnocením . Hlavní rozdíl mezi LTR a tradičním ML pod dohledem je tento:

  • Tradiční ML řeší problém predikce (klasifikace nebo regrese) v jedné instanci najednou. Např. pokud provádíte detekci spamu v e-mailu, podíváte se na všechny funkce spojené s tímto e-mailem a klasifikujete jej jako spam nebo ne. Cílem tradičního ML je přijít s třídou (spam nebo no-spam) nebo jediným číselným skóre pro danou instanci.
  • LTR řeší problém se zařazením na seznam položek. Cílem LTR je přijít s optimálním uspořádáním těchto položek. LTR jako takové se moc nestará o přesné skóre, které každá položka získá, ale více se stará o relativní řazení mezi všemi položkami.

Nejběžnější aplikací LTR je vyhledávač hodnocení, ale je to užitečné všude, kde potřebujete vytvořit seřazený seznam položek.

Údaje o tréninku pro model LTR se skládají ze seznamu položek a skóre „základní pravdy“ pro každou z těchto položek . U hodnocení vyhledávačů se to promítne do seznamu výsledků dotazu a hodnocení relevance pro každý z těchto výsledků vzhledem k dotazu. Nejběžnějším způsobem, který používají hlavní vyhledávače ke generování těchto hodnocení relevance, je požádat lidské hodnotitele, aby hodnotili výsledky pro sadu dotazů. V případě, že vás zajímá, podrobně jsem napsal o systémech hodnocení lidí zde: Odpověď Nikhila Dandekara na Jak Google měří kvalitu jejich výsledků vyhledávání?

Pro více technické vysvětlení Learning to Rank podívejte se na tento příspěvek od Microsoft Research: Krátký úvod do učení se hodnocení

Co je RankNet, LambdaRank a LambdaMART ?

RankNet, LambdaRank a LambdaMART jsou všechny algoritmy LTR vyvinuté Chrisem Burgesem a jeho kolegy z Microsoft Research. Jako první byl vyvinut RankNet, následovaný LambdaRank a poté LambdaMART.

Ve všech třech technikách je hodnocení transformován do problému párové klasifikace nebo regrese . To znamená, že se podíváte na dvojice položek najednou, přijdete s optimálním uspořádáním pro tuto dvojici položek a pak ji použijte k vymýšlení konečné hodnocení všech výsledků.

Zde jsou některé podrobnosti na vysoké úrovni pro každý z algoritmů:

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

RankNet byl původně vyvinut pomocí neuronové sítě, ale základní model se může lišit a není omezen pouze na neurální sítě. Cílem nákladové funkce pro RankNet je minimalizovat počet inverzí v hodnocení. Zde inverze znamená nesprávné pořadí mezi dvojicí výsledků, tj. Když v žebříčku zařadíme výsledek s nižším hodnocením nad výsledek s vyšším hodnocením. RankNet optimalizuje nákladovou funkci pomocí Stochastic Gradient Descent.

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

Burgess et. al. zjistili, že během tréninkového procesu RankNet nepotřebujete náklady, potřebujete pouze přechody (\ lambda) nákladů s ohledem na skóre modelu. Tyto přechody si můžete představit jako malé šipky připojené ke každému dokumentu v seřazeném seznamu , označující směr, kterým bychom se chtěli tyto dokumenty pohnout.

Dále zjistili, že změna přechodů změnou změny NDCG nalezený při výměně každé dvojice dokumentů přinesl dobré výsledky. Základní myšlenkou LambdaRank je použít tuto novou funkci nákladů pro školení RankNet. Na experimentálních souborech dat ukazuje vylepšení rychlosti i přesnosti oproti původnímu RankNetu.

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

LambdaMART kombinuje LambdaRank a MART (více stromů aditivní regrese). Zatímco MART používá pro rozhodovací úkoly gradientní rozhodovací stromy, La mbdaMART používá pro řešení úlohy hodnocení rozhodovací stromy podporované gradientem pomocí nákladové funkce odvozené od LambdaRank.Na experimentálních souborech dat ukázal LambdaMART lepší výsledky než LambdaRank a původní RankNet.

Pokud vás zajímá, Chris Burges má jediný dokument, který podrobně popisuje vývoj od RankNet k LambdaRank k LambdaMART: Od RankNet po LambdaRank po LambdaMART: Přehled

Odpověď

Naučit se hodnotit je třída problémů spojených s obnovením plné objednávky množiny z ní je částečné pořadí, které lze popsat několika způsoby:

  • Hodnocení všech datových bodů
  • Dvojice bodů, kde určujeme, který bod má být hodnoceno výše

Lze to považovat za regresní problém – předpovídat skóre pro vektor prvku. Nebo jako klasifikační problém, kde musíme předpovědět, který bod z nich bude zařazen výše Tyto přístupy se nazývají bodové a párové a prozatím jsou to nejvíce prozkoumávané a robustní metody.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *