Zalety AUC w porównaniu ze standardową dokładnością


64

Zaczynałem patrzeć na obszar pod krzywą (AUC) i jestem trochę zdezorientowany co do jego przydatności. Kiedy wyjaśniono mi po raz pierwszy, AUC wydawało się świetną miarą wydajności, ale w moich badaniach odkryłem, że niektórzy twierdzą, że jego przewaga jest w większości marginalna, ponieważ jest najlepsza do łapania „szczęśliwych” modeli z wysokimi standardowymi pomiarami dokładności i niskim AUC .

Czy powinienem więc unikać polegania na AUC przy walidacji modeli, czy też kombinacja byłaby najlepsza? Dziękuję za twoją pomoc.


5
Rozważ wysoce niezrównoważony problem. To właśnie tam ROC AUC jest bardzo popularny, ponieważ krzywa równoważy rozmiary klas. Łatwo jest osiągnąć 99% dokładność zbioru danych, w którym 99% obiektów należy do tej samej klasy.
Anony-Mousse

3
„Domniemanym celem AUC jest radzenie sobie w sytuacjach, w których masz bardzo wypaczony rozkład próbek i nie chcesz dopasowywać się do jednej klasy”. Pomyślałem, że w tych sytuacjach AUC działało słabo i zastosowano pod nimi wykresy / obszar przywołania dokładności.
JenSCDC

@JenSCDC, Z mojego doświadczenia w tych sytuacjach AUC działa dobrze, a jak wskazałem poniżej, z krzywej ROC otrzymujesz ten obszar. Wykres PR jest również przydatny (zauważ, że Recall jest taki sam jak TPR, jedna z osi w ROC), ale Precyzja nie jest dokładnie taka sama jak FPR, więc wykres PR jest związany z ROC, ale nie taki sam. Źródła: stats.stackexchange.com/questions/132777/... oraz stats.stackexchange.com/questions/7207/…
alexey

Odpowiedzi:


59

Naprawdę świetne pytanie, które wydaje mi się, że większość ludzi tak naprawdę nie rozumie na poziomie intuicyjnym. AUCjest w rzeczywistości często preferowany nad dokładnością do klasyfikacji binarnej z wielu różnych powodów. Najpierw jednak porozmawiajmy o tym, co dokładnie AUCjest. Szczerze mówiąc, ponieważ jest to jedna z najczęściej stosowanych miar skuteczności, zaskakująco tępo jest dokładnie ustalić, jak AUCdziała.

AUCoznacza Area Under the Curve, jaką krzywą pytasz? To byłaby ROCkrzywa. ROCoznacza charakterystykę działania odbiornika , która w rzeczywistości jest nieco nieintuicyjna. Domniemany cel AUCpolega na radzeniu sobie z sytuacjami, w których masz bardzo wypaczony rozkład próbek i nie chcesz pasować do jednej klasy.

Świetnym przykładem jest wykrywanie spamu. Zasadniczo zestawy danych spamu są MOCNIE nastawione na szynkę lub nie-spam. Jeśli twój zestaw danych zawiera 90% szynki, możesz uzyskać cholernie dobrą dokładność, mówiąc tylko, że każdy e-mail to szynka, co oczywiście oznacza, że ​​nie jest to idealny klasyfikator. Zacznijmy od kilku mierników, które są dla nas trochę bardziej przydatne, w szczególności rzeczywistej dodatniej stopy ( TPR) i fałszywie dodatniej stopy ( FPR):

Osie ROC

Teraz na tym wykresie TPRjest konkretnie stosunek wartości rzeczywistej dodatniej do wszystkich dodatnich oraz FPRstosunek fałszywie dodatnich do wszystkich ujemnych. (Pamiętaj, że to tylko dla klasyfikacji binarnej.) Na wykresie jak to powinno być dość proste, aby dowiedzieć się, że przewidywania wszystkim na 0 lub 1 będzie skutkować w punktach (0,0)i (1,1)odpowiednio. Jeśli narysujesz linię przez te linie, otrzymasz coś takiego:

Coś jak trójkąt

Który wygląda zasadniczo jak linia ukośna (to jest), a dzięki pewnej łatwej geometrii widać, że AUCtaki model byłby 0.5(wysokość i podstawa to 1). Podobnie, jeśli przewidujesz losowy asortyment zer i jedynek, powiedzmy 90% 1, możesz uzyskać punkt (0.9, 0.9), który ponownie spada wzdłuż tej linii przekątnej.

Teraz nadchodzi interesująca część. Co jeśli nie przewidujemy tylko zer i jedynek? Co jeśli zamiast tego chcielibyśmy powiedzieć, że teoretycznie zamierzamy ustalić punkt odcięcia, powyżej którego każdy wynik był równy 1, a poniżej którego każdy wynik był równy 0. Oznaczałoby to, że w skrajnych sytuacjach dochodzi do pierwotnej sytuacji, w której mają wszystkie zera i wszystkie zera (przy odcięciu odpowiednio 0 i 1), ale także szereg stanów pośrednich, które mieszczą się na 1x1wykresie, który zawiera twoje ROC. W praktyce dostajesz coś takiego: Dzięki uprzejmości Wikipedii

Zasadniczo, to, co faktycznie dostajesz, gdy robisz AUCnadmierną dokładność, jest czymś, co mocno zniechęci ludzi wybierających modele, które są reprezentatywne, ale nie dyskryminujące, ponieważ to faktycznie wybierze tylko modele, które osiągają fałszywie dodatnie i prawdziwie dodatnie wskaźniki, które znacznie przekraczają losową szansę, co nie gwarantuje dokładności.


Czy mógłbyś dodać porównanie AUC do wyniku F1?
Dan

7
@ Dan - Największą różnicą jest to, że nie musisz ustawiać progu decyzyjnego za pomocą AUC (zasadniczo mierzy prawdopodobieństwo, że spam plasuje się powyżej niebędącego spamem). Wynik F1 wymaga progu decyzyjnego. Oczywiście zawsze można ustawić próg decyzyjny jako parametr operacyjny i wykreślić wyniki F1.
DSea

17

AUC i dokładność to dość różne rzeczy. AUC dotyczy klasyfikatorów binarnych, które wewnętrznie mają pojęcie o progu decyzyjnym. Na przykład regresja logistyczna zwraca wartość dodatnią / ujemną w zależności od tego, czy funkcja logistyczna jest większa / mniejsza od wartości progowej, zwykle domyślnie 0,5. Kiedy wybierasz swój próg, masz klasyfikator. Musisz wybrać jeden.

Dla danego wyboru progu można obliczyć dokładność, która jest proporcją wartości rzeczywistych dodatnich i ujemnych w całym zestawie danych.

AUC mierzy, w jaki sposób prawdziwa dodatnia stopa (wycofanie) i fałszywa dodatnia stopa są kompromisowe, więc w tym sensie mierzy już coś innego. Co ważniejsze, AUC nie jest funkcją progu. Jest to ocena klasyfikatora, ponieważ próg zmienia się dla wszystkich możliwych wartości. Jest to w pewnym sensie szerszy wskaźnik, testujący jakość wartości wewnętrznej, którą klasyfikator generuje, a następnie porównuje z progiem. Nie testuje jakości konkretnego wyboru progu.

AUC ma inną interpretację, to znaczy, że istnieje również prawdopodobieństwo, że losowo wybrany pozytywny przykład zostanie umieszczony powyżej losowo wybranego negatywnego przykładu, zgodnie z wewnętrzną wartością klasyfikatora dla przykładów.

AUC jest obliczalne, nawet jeśli masz algorytm, który tworzy ranking tylko na przykładach. AUC nie jest obliczalne, jeśli naprawdę masz tylko klasyfikator czarnej skrzynki, a nie taki z wewnętrznym progiem. Zazwyczaj dyktują one, który z nich jest dostępny dla danego problemu.

Myślę, że AUC jest bardziej kompleksowym miernikiem, chociaż ma zastosowanie w mniejszej liczbie sytuacji. Nie jest to absolutnie lepsze niż dokładność; to jest inne. Zależy to częściowo od tego, czy bardziej zależy Ci na prawdziwych pozytywach, fałszywych negatywach itp.

Miara F bardziej przypomina dokładność w tym sensie, że jest funkcją klasyfikatora i jego ustawienia progu. Ale mierzy precyzję vs odwołanie (prawdziwie dodatni wskaźnik), co nie jest takie samo jak powyżej.


Dlatego jeśli chcę przewidzieć wynik binarny dla zestawu obserwacji, dla których wielkości grup są równe (mianowicie badanie kontroli przypadku), czy uzyskam cokolwiek, stosując AUC ponad dokładność? A może typowe zastosowanie AUC w takich badaniach wynika wyłącznie z konwencji?
Joe

AUC mierzy, jak dobrze klasyfikator plasuje instancje dodatnie wyżej niż instancja ujemna, podczas gdy dokładność mierzy wartość true vs false dodatnie dla danego progu decyzyjnego. Podejrzewam, że zależy to od tego, które pasuje do tego, co chcesz ocenić. AUC jest prawdopodobnie bardziej wszechstronną miarą klasyfikatora, niezależną od wyboru progu, ale faktyczne wykorzystanie klasyfikatora będzie zależeć od ustalenia progu w celu klasyfikacji
Sean Owen

4

Chciałbym odnieść się do tego, jak powinieneś wybrać miarę wydajności. Wcześniej odniosę się do konkretnego pytania dotyczącego dokładności i AUC.

Jak już odpowiedziano wcześniej, w przypadku niezrównoważonego zestawu danych przy użyciu większościowego przebiegu jako klasyfikatora doprowadzi się do wysokiej dokładności, co spowoduje, że będzie to błąd. Łączna wartość AUC powyżej progu ufności, na dobre i na złe. Na dobre otrzymujesz wynik wagi dla wszystkich poziomów pewności. Złe jest to, że zwykle zależy ci tylko na poziomie pewności, którego faktycznie użyjesz, a reszta jest nieistotna.

Chciałbym jednak zwrócić uwagę na wybór właściwej miary wydajności dla modelu. Powinieneś porównać model według jego celu. Celem modelu nie jest pytanie o uczenie maszynowe lub statystykę, lecz kwestia domeny biznesowej i jej potrzeb.

Jeśli kopiesz w poszukiwaniu złota (scenariusz, w którym czerpiesz ogromną korzyść z prawdziwie pozytywnego, niezbyt wysokiego kosztu fałszywie pozytywnego), wtedy wycofanie jest dobrą miarą.

Jeśli próbujesz zdecydować, czy wykonać skomplikowaną procedurę medyczną na ludziach (wysoki koszt fałszywie dodatniego, miejmy nadzieję, niski koszt fałszywie dodatniego), precyzja jest miarą, którą powinieneś zastosować.

Istnieje wiele środków, których możesz użyć. Możesz także łączyć je na różne sposoby.

Nie ma jednak uniwersalnej miary „najlepszej”. Istnieje najlepszy model dla twoich potrzeb, ten, który maksymalizując go zmaksymalizuje Twoje korzyści.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.