Optymalizacja pod kątem krzywych Precyzja-Przywołanie przy niewyważeniu klasy

30

Mam zadanie klasyfikacji, w którym mam wiele predyktorów (z których jeden jest najbardziej pouczający) i używam modelu MARS do budowy mojego klasyfikatora (jestem zainteresowany dowolnym prostym modelem, a używanie glms do celów ilustracyjnych byłoby też dobrze). Teraz mam ogromną nierównowagę klas w danych treningowych (około 2700 próbek ujemnych na każdą próbkę dodatnią). Podobnie jak w przypadku zadań związanych z wyszukiwaniem informacji, bardziej martwię się przewidywaniem pozytywnych próbek testowych o najwyższym rankingu. Z tego powodu wydajność krzywych Precision Recall jest dla mnie ważna.

Przede wszystkim po prostu wyszkoliłem model na podstawie danych treningowych, utrzymując równowagę klasy w jej obecnym stanie. Mój wyszkolony model wizualizuję na czerwono, a najważniejsze dane na niebiesko.

Szkolenie na temat niezrównoważonych danych, ocena na niezrównoważonych danych :

PR dla niezrównoważonego treningu ROC dla niezrównoważonego treningu

Sądząc, że nierównowaga klasy odrzuca model, ponieważ uczenie się próbek pozytywnych zajmujących najwyższe pozycje w rankingu jest niewielką częścią całego zestawu danych, zwiększyłem próbkę pozytywnych punktów treningowych, aby uzyskać zrównoważony zestaw danych treningowych. Kiedy wykreślam wyniki na zbalansowanym zestawie treningowym, osiągam dobre wyniki. Zarówno w przypadku krzywych PR, jak i ROC mój wyuczony model radzi sobie lepiej niż dane wejściowe.

Szkolenie na temat danych zbalansowanych (upsamplowanych), ocena również danych zbalansowanych (upsamplowanych):

PR dla zrównoważonego szkolenia, wizualizowany na zbilansowanym zbiorze danych ROC dla zrównoważonego szkolenia, wizualizowane na zbilansowanym zbiorze danych

Jeśli jednak użyję tego modelu wyszkolonego na zbalansowanych danych, aby przewidzieć oryginalny, niezrównoważony zestaw treningowy, nadal otrzymam słabą wydajność na krzywej PR.

Trening na (zbalansowanych) zbalansowanych danych, ocena oryginalnych niezrównoważonych danych:

PR dla zrównoważonego szkolenia, wizualizowany na oryginalnym, niezrównoważonym zbiorze danych ROC dla zrównoważonego szkolenia, wizualizowane na oryginalnym, niezrównoważonym zbiorze danych

Więc moje pytania to:

  1. Czy powód wizualizacji krzywej PR pokazuje gorszą wydajność mojego wyuczonego modelu (czerwony), podczas gdy krzywa ROC wykazuje poprawę z powodu nierównowagi klasy?
  2. Czy metody ponownego próbkowania / próbkowania w górę / próbkowania w dół mogą rozwiązać ten problem, zmuszając szkolenie do skoncentrowania się na regionie o wysokiej precyzji / niskim przywołaniu?
  3. Czy istnieje inny sposób skoncentrowania szkolenia na regionie o wysokiej precyzji / niskim przywołaniu?
wysoka przepustowość
źródło
Czy możesz edytować swoje pytanie, aby wyjaśnić, które miary są obliczane na zestawie treningowym, a które na przetrzymywanych danych?
Jack Tanner
@JackTanner, na razie wszystko jest obliczane na zestawie treningowym. Ponieważ model nie ma tak wielu parametrów, a liczba próbek w zestawie treningowym jest ogromna, nie przejmuję się zbytnio nadmiernym dopasowaniem. Poza tym chcę mieć pewność, że osiągam dobre wyniki na zestawie treningowym, zanim będę mógł spodziewać się w zestawie testowym.
highBandWidth
Jakie pokrętło kontrolujesz w algorytmie uczenia się, aby oceniać precyzję na różnych poziomach przywołania? Czy próbowałeś rozszerzyć swój zestaw funkcji, np. O kombinacje funkcji i transformacje?
Jack Tanner,
@JackTanner, Model, który mam (MARS z funkcją logit) daje wyniki w zakresie od 0 do 1, podobnie jak regresja logistyczna. Zasadniczo jest tak samo, ale zawiera kilka dodatkowych funkcji. Aby uzyskać precyzję przy różnych wycofaniach, po prostu ustawiam progi w różnych punktach. Po prostu używam standardowego sposobu obliczania PR lub ROC z listy rankingowej.
highBandWidth

Odpowiedzi:

15
  1. Krzywa ROC jest niewrażliwa na zmiany nierównowagi klas; patrz Fawcett (2004) „Wykresy ROC: uwagi i praktyczne uwagi dla badaczy”.
  2. Upsampling klasy niskiej częstotliwości jest rozsądnym podejściem.
  3. Istnieje wiele innych sposobów radzenia sobie z nierównowagą klas. Wzmacnianie i pakowanie to dwie techniki, które przychodzą na myśl. To wydaje się być istotnym ostatnim badaniem: porównanie technik zwiększania i pakowania z hałaśliwymi i niezrównoważonymi danymi

PS Neat problem; Chciałbym wiedzieć, jak to się potoczy.

Jack Tanner
źródło
1

Chciałem zwrócić uwagę na fakt, że ostatnie 2 eksperymenty faktycznie wykorzystują model SAME w zestawie danych PRAWIE SAMEGO. Różnica w wydajności nie jest różnicą w modelu, jest wyjaśniona różnymi rozkładami zestawu danych do walidacji i właściwościami poszczególnych użytych metod METRICS - precyzją i przywołaniem, które w dużym stopniu zależą od tego rozkładu. Aby rozwinąć ten punkt nieco bardziej, jeśli weźmiesz X odrębnych pozycji z początkowego zestawu danych do walidacji i zreplikujesz klasę mniejszości dla skalowanego zestawu danych, twój model będzie przewidywał te same wpisy dla X, poprawne lub niepoprawne, zarówno w powiększeniu, jak i niezrównoważeniu zestawy danych do walidacji. Jedyną różnicą jest to, że dla każdego fałszywie dodatniego wyniku będzie mniej prawdziwych wyników dodatnich w początkowym zestawie danych (stąd niższa precyzja), a więcej rzeczywistych wyników dodatnich w zbalansowanym zestawie danych (po prostu ze względu na fakt, że ogólnie jest więcej pozytywnych przykładów w zestawie danych) . Dlatego mówi się, że Precision i Recall są wrażliwe na przekrzywienie. Z drugiej strony, jak pokazują twoje eksperymenty, ROC się nie zmienia. Można to zaobserwować, patrząc również na jego definicję. Dlatego mówi się, że ROC nie jest wrażliwy na przekrzywienie.

Nie mam jeszcze dobrych odpowiedzi na punkty 2 i 3, ponieważ sam ich szukam :)

Շուշան Առաքելյան
źródło
0

Zakładając, że próbki dodatnie o podwyższonej próbce mają „taki sam rozkład” jak w „oryginalnym zestawie”. Wraz ze wzrostem liczby próbek dodatnich zachodzi niewiele zmian

1) liczba TruePositives (TP) wzrasta dla „wszystkich progów”, w wyniku czego wzrasta stosunek TP / (TP + FP) i TP / (TP + FN) dla wszystkich progów. Tak więc obszar pod ChRL rośnie.

2) oczekiwana precyzja, zwana również precyzją modelu „głupiego”, wzrasta z ~ 1/2700 (w zestawie oryginalnym) do ~ 1/2 (w przypadku równowagi „idealnej”). Zakładając, że Twój model działa lepiej niż model „głupi” oznacza, że ​​obszar pod krzywą będzie większy niż 0,00037 w „oryginalnym zestawie” i więcej niż 0,5 w idealnie zbalansowanym zestawie.

3) podczas szkolenia modelu na skalowanym zestawie danych niektóre modele mogą „zastępować” próbki pozytywne.

Jeśli chodzi o krzywe ROC, wiadomo, że krzywe ROC mają niewielki wpływ na zmiany rozkładu klas (przeskalowanie ma bardzo niewielki wpływ na FPR, podczas gdy można zaobserwować pewien wpływ na TPR).

Jeśli chodzi o skupienie się w regionie o wysokiej precyzji / niskim przywołaniu, możesz zoptymalizować funkcję kosztu, w której fałszywe pozytywne są karane bardziej niż fałszywe negatywne.

Danylo Zherebetskyy
źródło