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.
machine-learning
accuracy
aidankmcl
źródło
źródło
Odpowiedzi:
Naprawdę świetne pytanie, które wydaje mi się, że większość ludzi tak naprawdę nie rozumie na poziomie intuicyjnym.
AUC
jest 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ładnieAUC
jest. Szczerze mówiąc, ponieważ jest to jedna z najczęściej stosowanych miar skuteczności, zaskakująco tępo jest dokładnie ustalić, jakAUC
działa.AUC
oznaczaArea Under the Curve
, jaką krzywą pytasz? To byłabyROC
krzywa.ROC
oznacza charakterystykę działania odbiornika , która w rzeczywistości jest nieco nieintuicyjna. Domniemany celAUC
polega 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
):Teraz na tym wykresie
TPR
jest konkretnie stosunek wartości rzeczywistej dodatniej do wszystkich dodatnich orazFPR
stosunek 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:Który wygląda zasadniczo jak linia ukośna (to jest), a dzięki pewnej łatwej geometrii widać, że
AUC
taki model byłby0.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
1x1
wykresie, który zawiera twojeROC
. W praktyce dostajesz coś takiego:Zasadniczo, to, co faktycznie dostajesz, gdy robisz
AUC
nadmierną 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.źródło
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.
źródło
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.
źródło