Chciałbym przyjrzeć się kilku różnym wskaźnikom algorytmów rankingowych - kilka z nich znajduje się na stronie Wikipedii Uczenie się rangowania, w tym:
• Średnia średnia precyzja (MAP);
• DCG i NDCG;
• Precision @ n, NDCG @ n, gdzie „@n” oznacza, że metryki są oceniane tylko na górnych n dokumentach;
• Średnia ranga wzajemności;
• tau Kendalla
• Spearman's Rho
• Oczekiwany stopień wzajemności
• Fundacja Yandexa
ale nie jest dla mnie jasne, jakie są zalety / wady każdego z nich lub kiedy możesz wybrać jeden nad drugim (lub co by to znaczyło, gdyby jeden algorytm był lepszy od drugiego na NDGC, ale był gorszy, gdy oceniono go za pomocą MAP).
Czy jest gdziekolwiek mogę się dowiedzieć więcej na temat tych pytań?
źródło
W wielu przypadkach, w których stosuje się algorytmy rankingowe (np. Wyszukiwarka Google, rekomendacje produktów Amazon), uzyskuje się setki i tysiące wyników. Użytkownik chce oglądać tylko u góry ~ 20 lub mniej więcej. Reszta jest więc całkowicie nieistotna.
Jeśli dotyczy to Twojej aplikacji, ma to bezpośredni wpływ na metrykę:
Najwyższa dokładność klasyfikacji do rankingu
Prawdę mówiąc, zdefiniowanie porządku może być trudne. A jeśli rozróżniasz tylko istotne / nieistotne, to tak naprawdę jesteś w przypadku klasyfikacji!
Dokładność Top-n jest miarą klasyfikacji. Zobacz Jaka jest definicja dokładności Top-n? .
Precision @ k
Co ci mówi:
Recall @ k
Co to znaczy:
źródło
Niedawno musiałem wybrać metrykę do oceny algorytmów rankingowych na wielu etykietach i doszedłem do tego tematu, co było bardzo pomocne. Oto kilka dodatków do odpowiedzi stpk, które były pomocne przy dokonywaniu wyboru.
Detale
Skupmy się na średniej precyzji (AP), ponieważ średnia średnia precyzja (MAP) to tylko średnia AP na kilka zapytań. AP jest poprawnie zdefiniowane na danych binarnych jako obszar pod krzywą dokładnego przywołania, który może być przepisany jako średnia dokładności dla każdej dodatniej pozycji. (patrz artykuł w Wikipedii na temat MAP ) Możliwym przybliżeniem jest zdefiniowanie go jako średniej dokładności dla każdego z nichpozycja. Niestety tracimy niezłą właściwość, że negatywne przykłady umieszczone na końcu listy nie mają wpływu na wartość AP. (Jest to szczególnie smutne, jeśli chodzi o ocenę wyszukiwarki, która zawiera znacznie więcej negatywnych przykładów niż pozytywnych przykładów. Możliwym obejściem jest podpróbowanie negatywnych przykładów kosztem innych wad, np. Zapytania zawierające więcej pozytywnych pozycji staną się jednakowo trudne do zapytania z kilkoma pozytywnymi przykładami).
Z drugiej strony, to przybliżenie ma dobrą właściwość, którą dobrze uogólnia na przypadek wielopłaszczyznowy. Rzeczywiście, w przypadku binarnym precyzję w pozycji k można również interpretować jako średnią istotność przed pozycją k, gdzie trafność pozytywnego przykładu wynosi 1, a trafność negatywnego przykładu wynosi 0. Ta definicja rozciąga się całkiem naturalnie na przypadek, w którym istnieją więcej niż dwa różne poziomy istotności. W tym przypadku AP można również zdefiniować jako średnią średnich trafności dla każdej pozycji.
Z tych dwóch wyrażeń możemy wywnioskować, że - AP waży dokumenty od 1 do 0. - DCG waży dokumenty niezależnie od całkowitej liczby dokumentów.
W obu przypadkach, jeśli istnieje znacznie więcej nieistotnych przykładów niż odpowiednie przykłady, całkowita waga pozytywu może być nieistotna. W przypadku AP obejściem tego problemu jest podpróbkowanie próbek ujemnych, ale nie jestem pewien, jak wybrać proporcję podpróbkowania, a także czy uzależnić ją od zapytania lub liczby pozytywnych dokumentów. W przypadku DCG możemy to wyciąć o k, ale pojawiają się te same pytania.
Z przyjemnością usłyszę o tym więcej, jeśli ktoś tutaj będzie pracował na ten temat.
źródło