Jak porównać dwa algorytmy rankingu?

12

Chcę porównać dwa algorytmy rankingu. W tych algorytmach klient określa pewne warunki w swoim wyszukiwaniu. Zgodnie z wymaganiami klienta, algorytm ten powinien przypisać ocenę każdemu elementowi w bazie danych i pobrać elementy o najwyższym wyniku.

Na tej stronie przeczytałem różne tematy związane z moim pytaniem i przeszukałem sieć. Według moich wyszukiwań najbardziej odpowiednim artykułem wyjaśniającym niektóre metryki do porównywania algorytmów rankingowych były: Brian McFee i Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Myślę, że prec @ k, MAP, MRR i NDCG są dobrymi miernikami do użycia, ale mam problem:

Mój algorytm sortuje wyniki, więc pierwszy element na mojej liście wyników jest najlepszy z najwyższym wynikiem, drugi wynik ma drugi najwyższy wynik i tak dalej. Ograniczam mój algorytm wyszukiwania do, na przykład, znalezienia 5 najlepszych wyników. Wyniki to 5 najlepszych pozycji. Tak więc precyzja będzie wynosić 1. Gdy ograniczę wyszukiwanie, aby znaleźć najlepszy wynik, znajdzie najlepszy. Znów precyzja będzie wynosić 1. Ale problemem jest to, że jest nie do przyjęcia dla osób, które widzą ten wynik.

Co mogę zrobić? Jak mogę porównać te algorytmy i pokazać, że jeden jest lepszy od drugiego?

MK
źródło

Odpowiedzi:

6

Zdyskontowany zysk skumulowany (DCG) jest jednym z najpopularniejszych wskaźników wykorzystywanych do oceny rankingu w dowolnej wyszukiwarce. Jest to miara jakości rankingu. Podczas wyszukiwania informacji jest często używany do pomiaru skuteczności wyszukiwarki internetowej.

Opiera się na następujących założeniach:

  1. Bardzo trafne dokumenty są bardziej przydatne, jeśli pojawiają się wcześniej w wynikach wyszukiwania.
  2. Dokumenty o dużym znaczeniu są bardziej przydatne niż dokumenty o marginalnym znaczeniu, które są lepsze niż dokumenty nieistotne.

Wzór na DCG wygląda następująco:

(1)DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

Gdzie:

  • i jest zwróconą pozycją dokumentu w wyniku wyszukiwania.
  • reli to stopniowane znaczenie dokumentu
  • sumowanie przez p (liczbę zwróconych wyników), zatem skumulowany skumulowany zysk daje miary wydajności zwróconego wyniku.

DCG pochodzi od CG (Skumulowany zysk) , otrzymany przez:

(2)CGp=i=1preli

Z (2) widać, że nie zmienia się w przypadku zmiany kolejności wyników. Aby rozwiązać ten problem, wprowadzono DCG. Istnieje inna forma DCG, która jest popularna ze względu na bardzo duży nacisk na odzyskiwanie dokumentów. Ta wersja DCG jest dostarczana przez:CGp

(3)DCGp=i=1p2reli1log2(i+1)

Jedną oczywistą wadą równania DCG przedstawionego w (1) i (3) jest to, że algorytmy zwracające inną liczbę wyników nie mogą być skutecznie porównywane. Jest tak, ponieważ im wyższa wartość tym wyższa wartość zostanie przeskalowana do.pDCGp

Aby rozwiązać ten problem, proponuje się znormalizowany DCG (nDCG) . Daje to

nDCGp=DCGpIDCGp

gdzie jest idealnym , podanym przez,IDCGpDCGp

IDCGp=i=1|REL|2reli1log2(i+1)

Gdzie | REL | to lista dokumentów uporządkowanych według istotności w korpusie do pozycji p.

Aby uzyskać idealny algorytm rankingu,

DCGp=IDCGp

Ponieważ wartości nDCG są skalowane w zakresie [0,1], porównanie tych zapytań jest możliwe przy użyciu tych wskaźników.

Wady: 1. nDCG nie penalizuje wyników wyszukiwania złych dokumentów. Można to naprawić, dostosowując wartości trafności przypisane dokumentom. 2. nDCG nie penalizuje brakujących dokumentów. Można to naprawić, ustalając rozmiar pobierania i stosując minimalną liczbę punktów dla brakujących dokumentów.

Zobacz to, aby zobaczyć przykładowe obliczenia nDCG.

Odniesienie

m1cro1ce
źródło