Przywołanie i precyzja w klasyfikacji

40

Czytam niektóre definicje przywołania i precyzji, choć zawsze za każdym razem w kontekście wyszukiwania informacji. Zastanawiałem się, czy ktoś mógłby wyjaśnić to nieco bardziej w kontekście klasyfikacji i może zilustrować kilka przykładów. Powiedzmy na przykład, że mam binarny klasyfikator, który daje mi precyzję 60% i przywołanie 95%, czy to dobry klasyfikator?

Może, aby trochę bardziej pomóc mojemu celowi, jaki jest według ciebie najlepszy klasyfikator? (zestaw danych jest niezrównoważony. Klasa większości ma dwa razy więcej przykładów niż klasa mniejszości)

Osobiście powiedziałbym 5 ze względu na obszar pod krzywą operatora odbiornika.

(jak widać tutaj model 8 ma niską precyzję, bardzo wysoką pamięć zwrotną, ale jeden z najniższych AUC_ROC, czy to czyni go dobrym modelem? czy złym?)

wprowadź opis zdjęcia tutaj


edytować:

Mam plik programu Excel z dodatkowymi informacjami: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

W tym dokumencie można znaleźć obszar pod krzywą operatora odbiornika i obszar pod krzywą dokładnego przywołania. Wraz z działkami.

Olivier_s_j
źródło
6
Dlaczego głos negatywny? To wydaje się interesujące pytanie (na pewno jedna osoba uważała, że ​​można na nie odpowiedzieć).
Gala
Ile przypadków testowych było zaangażowanych w obliczanie miar wydajności? Ponadto, jeśli porównasz kilka klasyfikatorów w tym samym zbiorze danych, możesz użyć sparowanego projektu (istnieje kilka pytań i odpowiedzi dotyczących CV omawiających porównanie klasyfikatorów).
cbeleites wspiera Monikę
Mam 799 próbek (jeśli tak rozumiesz przypadek testowy). Za każdym razem dzielę dane na 10 podzbiorów. 1 podzbiór do testowania klasyfikatorów, a reszta do szkolenia klasyfikatorów (porównywane klasyfikatory są szkolone na tych samych danych).
Olivier_s_j
Czy klasyfikatory generują wartość binarną, czy też generują wartość rzeczywistą, a następnie używają progu, aby była binarna?
galath
Wyprowadzają wyjście binarne.
Olivier_s_j

Odpowiedzi:

40

To, czy klasyfikator jest „dobry”, naprawdę zależy od

  1. Co jeszcze jest dostępne dla konkretnego problemu. Oczywiście chcesz, aby klasyfikator był lepszy niż przypadkowe lub naiwne domysły (np. Klasyfikując wszystko jako należące do najpopularniejszej kategorii), ale niektóre rzeczy są łatwiejsze do sklasyfikowania niż inne.
  2. Koszt różnych błędów (fałszywy alarm vs. fałszywe negatywy) i stawka podstawowa. Bardzo ważne jest rozróżnienie tych dwóch i ustalenie konsekwencji, ponieważ możliwe jest posiadanie klasyfikatora o bardzo wysokiej dokładności (prawidłowe klasyfikacje na pewnej próbce testowej), który jest całkowicie bezużyteczny w praktyce (powiedzmy, że próbujesz wykryć rzadką chorobę lub niektóre niezwykłe zachowanie psotne i planuje się podjąć pewne działania po wykryciu; testowanie na dużą skalę coś kosztuje, a działanie naprawcze / leczenie zwykle wiąże się również ze znacznym ryzykiem / kosztami, więc biorąc pod uwagę, że większość trafień będzie fałszywie pozytywna, z perspektywy kosztów / korzyści to może lepiej nic nie robić).

Aby zrozumieć związek między przypomnieniem / precyzją z jednej strony a czułością / swoistością z drugiej strony, warto wrócić do macierzy pomieszania:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Recall to TP / (TP + FN), podczas gdy precyzja to TP / (TP + FP). Odzwierciedla to charakter problemu: podczas wyszukiwania informacji chcesz zidentyfikować jak najwięcej odpowiednich dokumentów (to przypomina) i unikać konieczności sortowania śmieci (to jest precyzja).

Korzystając z tej samej tabeli, tradycyjnymi miernikami klasyfikacji są (1) czułość zdefiniowana jako TP / (TP + FN) i (2) specyficzność określona jako TN / (FP + TN). Tak więc przywołanie i czułość są po prostu synonimami, ale precyzja i specyficzność są zdefiniowane inaczej (podobnie jak przywołanie i czułość, specyficzność jest zdefiniowana w odniesieniu do sumy kolumn, podczas gdy precyzja odnosi się do sumy wierszy). Precyzja jest również czasami nazywana „pozytywną wartością predykcyjną” lub, rzadko, „fałszywie dodatnim wskaźnikiem” (ale patrz moja odpowiedź na relację między prawdziwie pozytywnym, fałszywie dodatnim, fałszywie ujemnym i prawdziwym negatywnym w odniesieniu do zamieszania wokół tej definicji fałszywie dodatniego wyniku oceniać).

Co ciekawe, wskaźniki wyszukiwania informacji nie uwzględniają liczby „prawdziwie ujemnej”. Ma to sens: W pozyskiwania informacji, nie dbają o prawidłowej klasyfikacji negatywne przypadki na se , po prostu nie chcą zbyt wiele z nich zanieczyszczających wyników (patrz również Dlaczego nie przypominam uwzględniać prawdziwych negatywów? ).

Z powodu tej różnicy nie jest możliwe przejście od specyficzności do precyzji lub na odwrót bez dodatkowych informacji, mianowicie liczby prawdziwych negatywów lub, alternatywnie, ogólnej proporcji przypadków pozytywnych i negatywnych. Jednak dla tego samego zestawu korpusów / testów wyższa specyficzność zawsze oznacza lepszą precyzję, więc są one ściśle powiązane.

W kontekście wyszukiwania informacji celem jest zazwyczaj identyfikacja niewielkiej liczby dopasowań z dużej liczby dokumentów. Z powodu tej asymetrii, o wiele trudniej jest uzyskać dobrą precyzję niż dobrą specyficzność, utrzymując stałą czułość / przywołanie. Ponieważ większość dokumentów jest nieistotna, masz dużo więcej okazji na fałszywe alarmy niż prawdziwe alarmy pozytywne, a te fałszywe alarmy mogą zatopić prawidłowe wyniki, nawet jeśli klasyfikator ma imponującą dokładność na zbalansowanym zestawie testowym (tak naprawdę dzieje się w scenariuszach I wspomniane w punkcie 2 powyżej). W związku z tym naprawdę musisz zoptymalizować precyzję, a nie tylko zapewnić przyzwoitą specyficzność, ponieważ nawet imponujące wskaźniki, takie jak 99% lub więcej, czasami nie wystarczą, aby uniknąć licznych fałszywych alarmów.

Zwykle występuje kompromis między czułością a swoistością (lub przywołaniem i precyzją). Intuicyjnie, jeśli rzucisz szerszą sieć, wykryjesz bardziej odpowiednie dokumenty / pozytywne przypadki (wyższa czułość / przywołanie), ale dostaniesz także więcej fałszywych alarmów (niższa specyficzność i niższa precyzja). Jeśli klasyfikujesz wszystko w kategorii pozytywnej, masz 100% przywołania / wrażliwości, złą precyzję i w większości bezużyteczny klasyfikator („głównie”, ponieważ jeśli nie masz żadnych innych informacji, całkowicie uzasadnione jest założenie, że nie będzie padać na pustynię i działać odpowiednio, więc może nie jest to w końcu bezużyteczne; oczywiście nie potrzebujesz do tego wyrafinowanego modelu).

Biorąc to wszystko pod uwagę, 60% precyzji i 95% przywołania nie brzmi tak źle, ale znowu, to naprawdę zależy od domeny i tego, co zamierzasz zrobić z tym klasyfikatorem.


Niektóre dodatkowe informacje dotyczące najnowszych komentarzy / edycji:

Ponownie, wydajność, której możesz oczekiwać, zależy od specyfiki (w tym kontekście byłoby to dokładnie taki zestaw emocji obecnych w zestawie treningowym, jakość obrazu / wideo, jasność, okluzja, ruchy głowy, odtwarzane lub spontaniczne filmy, model zależny od osoby lub niezależny od osoby itp.), ale F1 powyżej .7 brzmi dobrze dla tego typu aplikacji, nawet jeśli najlepsze modele mogą poradzić sobie lepiej na niektórych zestawach danych [patrz Valstar, MF, Mehu, M., Jiang, B., Pantic, M. i Scherer, K. (2012). Metaanaliza pierwszego wyzwania dotyczącego rozpoznawania wyrazu twarzy. Transakcje IEEE dotyczące systemów, człowieka i cybernetyki, część B: Cybernetyka, 42 (4), 966-979.]

To, czy taki model jest przydatny w praktyce, jest zupełnie innym pytaniem i oczywiście zależy od zastosowania. Zauważ, że „wyraz twarzy” sam w sobie jest złożonym tematem i przejście od typowego zestawu treningowego (pozy) do każdej rzeczywistej sytuacji nie jest łatwe. Jest to raczej nie na temat na tym forum, ale będzie miało poważne konsekwencje dla każdego praktycznego zastosowania, które możesz rozważyć.

Wreszcie porównanie między modelami to kolejne pytanie. Uważam, że przedstawione liczby są takie, że nie ma żadnej dramatycznej różnicy między modelami (jeśli odwołujesz się do cytowanego powyżej artykułu, zakres wyników F1 dla dobrze znanych modeli w tym obszarze jest znacznie szerszy). W praktyce aspekty techniczne (prostota / dostępność bibliotek standardowych, szybkość różnych technik itp.) Prawdopodobnie decydują o tym, który model zostanie wdrożony, chyba że koszt / korzyści i ogólna stawka sprawią, że będziesz zdecydowanie faworyzować precyzję lub wycofanie.

Gala
źródło
Mój klasyfikator klasyfikuje twarze na pozytywne lub negatywne emocje. Uruchomiłem kilka algorytmów klasyfikacji z 10-krotną weryfikacją krzyżową i czasami nawet 100% przywoływam, chociaż precyzja jest dla wszystkich klasyfikatorów prawie taka sama (około 65%). Pracuję z niezrównoważonym zestawem danych (klasa większości ma dwa razy więcej próbek niż klasa mniejszości). Dlatego pomyślałem, że to prawdopodobnie oznacza, że ​​moje modele nie uczą się tego wzoru.
Olivier_s_j
1
@Gala: Jaka jest różnica między „fałszywym alarmem” a „fałszywym negatywem”? Czy masz na myśli „fałszywy alarm” i „fałszywie pozytywny”?
Matt O'Brien,
@ MattO'Brien Fałszywy alarm to fałszywy alarm (tzn. System mówi „Uważaj!” Lub „Znaleziono coś!”, Ale nie ma nic i nie trzeba działać, stąd „fałszywy alarm”). Być może terminologia jest nieco myląca, przejrzę odpowiedź później.
Gala,
@Ojtwist Jeśli prawdopodobieństwo ma wartość dodatnią 67%, możesz uzyskać 100% przywołania i ~ 67% precyzji, przewidując wszystko jako pozytywne.
Mark
21

W kontekście klasyfikacji binarnej przykłady są pozytywne lub negatywne.

  • Wycofanie dotyczy pytania: „Czy podając pozytywny przykład, klasyfikator go wykryje?”
  • Precyzja odpowiada na pytanie: „Biorąc pod uwagę pozytywną prognozę klasyfikatora, jakie jest prawdopodobieństwo, że będzie poprawna?”

Zależy to więc od tego, czy skupimy się na pozytywnych przykładach, czy na pozytywnych prognozach.

Można powiedzieć „przy wycofaniu co najmniej 90%, klasyfikator z najwyższą precyzją wynosi 4.” Ale jeśli liczy się jakość prognoz, wśród klasyfikatorów z dokładnością co najmniej 70%, ta, która osiąga najwyższe wycofanie, to 6.

galath
źródło
6

Przejście od ciągłych prognoz, stosowanych w obliczaniu obszaru ROC (prawdopodobieństwo zgodności; indeks c), do nieciągłej niewłaściwej reguły punktacji (dokładność klasyfikacji z wymuszonym wyborem) prowadzi do wszelkiego rodzaju anomalii i wprowadzi analityka w błąd w wyborze niewłaściwych predyktorów i / lub zły model. O wiele lepiej jest podejmować decyzje w oparciu o właściwe reguły punktacji (np. Logarytmiczne prawdopodobieństwo / dewiacja / logarytmiczna reguła punktacji prawdopodobieństwa; wynik Briera (kwadratowy wynik dokładności prawdopodobieństwa)). Jedną z wielu zalet takiego podejścia jest identyfikacja obserwacji, dla których klasyfikacja jest niebezpieczna dla zdrowia z powodu niepewności spowodowanej prawdopodobieństwem średniego zasięgu.

Frank Harrell
źródło
Czy te reguły punktacji nie mają zastosowania tylko wtedy, gdy model daje wyniki probabilistyczne?
Olivier_s_j
3
Wspomniałeś o AUC ROC, który wymaga wyników probabilistycznych (lub czegoś, co jest ich monotoniczną funkcją). Najlepsze metody predykcyjne mają pod maską prawdopodobieństwo.
Frank Harrell,
DxyY
Problem z użyciem ROC i miar dokładności klasyfikacji bez „wymuszonego wyboru” polega na tym, że w rzeczywistości nie mają one żadnego znaczenia w kontekście zastosowania, w którym należy faktycznie wybrać próg zgodnie z uzasadnieniem biznesowym. Na przykład w produkcie wykrywającym przestępstwa finansowe dla bankowości inwestycyjnej firma może dysponować zasobami ludzkimi do zbadania 100 klasyfikacji rocznie, co powoduje ustalenie stałego progu, który należy zoptymalizować. Gini, obszar ROC itp. Nie powiedzą, jak dobry jest ten model na tym progu. ...
samthebest
2
Ograniczenie budżetowe liczby dochodzeń jest bardzo rozsądne. Nie wymaga to żadnych progów, żadnej nowej optymalizacji, żadnych klasyfikacji ani analizy ROC. Po prostu sortuje się obserwacje w kolejności malejącej przewidywanego ryzyka i wybiera pierwsze 100 obserwacji do zbadania. Jest to związane z krzywą wzrostu stosowaną w marketingu.
Frank Harrell,
5

Ani precyzja, ani przywołanie nie mówią pełnej historii, i trudno jest porównać predyktor, powiedzmy, z 90% przywołaniem i 60% precyzją z predyktorem z, powiedzmy, 85% precyzją i 65% przywołaniem - chyba że oczywiście masz koszt / korzyść związana z każdą z 4 komórek (tp / fp / tn / fn) w macierzy pomieszania .

Ciekawym sposobem uzyskania pojedynczej liczby ( biegłości , czyli współczynnika niepewności ) opisującej działanie klasyfikatora jest zastosowanie teorii informacji :

proficiency = I(predicted,actual) / H(actual)

oznacza to, że część informacji obecnych w danych rzeczywistych została odzyskana przez klasyfikator. Jest 0, jeśli precyzja lub przywołanie wynosi 0, i wynosi 100%, jeśli (i tylko wtedy) zarówno precyzja, jak i przywołanie wynoszą 100%. Pod tym względem jest podobny do wyniku F1 , ale biegłość ma wyraźne znaczenie teoretyczno-informacyjne, podczas gdy F1 jest po prostu średnią harmoniczną dwóch liczb o znaczeniu.

Można znaleźć papier, prezentację i kod (Python) do obliczenia metryki biegłości tutaj: https://github.com/Magnetic/proficiency-metric

sds
źródło
ciekawy! czy możesz nam podać przykład, jak obliczyć biegłość? bo formuła wygląda dla mnie dziwnie.
samotny
Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
Scortchi - Przywróć Monikę