Brak zrównoważonych danych

Zbiór danych klasyfikacji z odkształconymi proporcjami klas nazywa się niezrównoważony. Klasy, które stanowią znaczną część zbioru danych, są nazywane klasami podstawowymi. Te, które składają się w mniejszym stopniu, to klasy mniejszości.

Co zalicza się do niezrównoważonych? Odpowiedź może być umiarkowana, bardzo ekstremalna, jak widać w tabeli poniżej.

Stopień nierówności Odsetek klas mniejszości
Łagodne 20–40% zbioru danych
Umiarkowane ceny 1–20% zbioru danych
Najwyższa wydajność <1% zbioru danych

Po co szukać niezrównoważonych danych? W przypadku zadania klasyfikacji z niestabilnym zestawem danych może być konieczne zastosowanie konkretnej techniki próbkowania.

Poniżej znajdziesz przykładowy model wykrywający oszustwa. Wypadki mają miejsce raz na 200 transakcji w tym zbiorze, więc podczas prawdziwej dystrybucji około 0,5% danych jest dodatnich.

Wykres słupkowy z 2 kreskami Na jednym pasku widać około 200 transakcji negatywnych, a na drugim – jedną dodatnią.

Dlaczego może to być problematyczne? Mając tak niewiele pozytywnych wyników w porównaniu z kryteriami negatywnymi, model szkoleniowy przeznaczy większość czasu na przykłady negatywne i nie nauczy się wystarczającej ilości pozytywnych wyników. Jeśli np. rozmiar partii wynosi 128, w wielu partiach nie będzie żadnych pozytywnych wyników, więc gradienty będą mniej trafne.

Jeśli masz niezrównoważony zbiór danych, najpierw spróbuj ćwiczyć na prawdziwej dystrybucji. Jeśli model działa dobrze i uogólnia, to już wszystko. Jeśli nie, wypróbuj tę technikę redukującą i podnoszącą wagę.

Zmiana wersji na niższą wersję

Skuteczny sposób obsługi niezrównoważonych danych to zmniejszenie próbki i przeciążenie klasy głównej. Zacznijmy od zdefiniowania tych 2 nowych terminów:

  • Zmniejszanie próbkowania (w tym kontekście) oznacza trenowanie nieproporcjonalnie mało przykładów większości klasy.
  • Zmiana wagi oznacza dodanie przykładowej wagi do klasy spróbkowanej identycznej ze współczynnikiem, który jest objęty próbkowaniem.

Krok 1. Przyjrzyj się klasyfikacji większości. Weźmy jeszcze raz nasz przykład zbioru oszustw – od 1 do 200 negatywnych. Zmniejszenie go o 10 zwiększa współczynnik od 1 do 20 (5%). Powstały zestaw treningowy jest jednak umiarkowanie nierówny, ale proporcjonalny odsetek wyników negatywnych jest znacznie wyższy niż pierwotny wyjątkowo nieproporcjonalny (0,5%).

Wykres słupkowy z 2 kreskami Na jednym pasku widać 20 ujemnych transakcji, a na drugim – jedną dodatnią.

Krok 2. Zmień na wagę spróbkowaną Ponieważ współczynnik spróbkowania zmniejszamy o 10, przykładowa waga powinna wynosić 10.

Schemat koncepcyjny redukcji i podnoszenia wagi. Krok 1, cofanie próbkowania, pobiera losowo wybrany przykład z bloku reprezentującego zbiór danych klasy większości. Krok 2. Zmiana wagi dodaje każdy losowo wybrany przykład.

Czasem określenie waga odnosi się do parametrów modelu, np. połączeń w sieci neuronowej. To m.in. przykładowe wagi, czyli ważniejsze jest liczenie poszczególnych przykładów podczas trenowania. Przykładowa waga 10 oznacza, że model traktuje przykład jako 10 razy tak ważny (podczas straty obliczeniowej), jak w przypadku przykładowej wagi 1.

Waga powinna być równa współczynnikowi użytemu do próbkowania próbki:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Dlaczego redukcja wersji i przejście na nową wersję?

Przykładowe wagi po obniżeniu próbki mogą wydawać się dziwne. Staramy się, aby nasz model był lepszy w klasie mniejszości – dlaczego mielibyśmy przeważać większość? Wprowadziliśmy te zmiany:

  • Szybsze zbieganie: podczas trenowania częściej używamy klasy mniejszości, co ułatwia szybsze łączenie modelu.
  • Miejsce na dysku: konsolidując klasę większość w mniejszą liczbę przykładów o większej wadze, tracimy mniej miejsca na dysku. Pozwala to zmniejszyć ilość miejsca na dysku w przypadku zajęć mniejszościowych, dzięki czemu możemy zebrać większą liczbę i obszerniejszy zakres przykładów z tych zajęć.
  • Kalibracja: podnoszenie wagi sprawia, że nasz model jest nadal skalibrowany. Wyniki wyjściowe można nadal interpretować jako prawdopodobieństwo.