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ładnie AUC
jest. Szczerze mówiąc, ponieważ jest to jedna z najczęściej stosowanych miar skuteczności, zaskakująco tępo jest dokładnie ustalić, jak AUC
działa.
AUC
oznacza Area Under the Curve
, jaką krzywą pytasz? To byłaby ROC
krzywa. ROC
oznacza charakterystykę działania odbiornika , która w rzeczywistości jest nieco nieintuicyjna. Domniemany cel AUC
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 oraz FPR
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ł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 1x1
wykresie, który zawiera twoje ROC
. 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.