Zbiory danych: niezrównoważone zbiory danych

Rozważmy zbiór danych zawierający etykietę kategorialną, której wartość to Pozytywny lub Negatywny. W zrównoważonym zbiorze danych liczba etykiet PozytywneNegatywne jest mniej więcej równa. Jeśli jednak jedna etykieta jest częstsza od drugiej, zbiór danych jest niezrównoważony. Dominująca etykieta w zbiorze danych z niezrównowagą nazywana jest klasą większości, a rzadziej wybierana etykieta – klasą mniejszości.

W tabeli poniżej znajdziesz ogólnie przyjęte nazwy i zakresy dotyczące różnych stopni nierównowagi:

Odsetek danych należących do klasy mniejszości Stopień nierównowagi
20–40% zbioru danych Łagodne
1–20% zbioru danych Umiarkowanie trudny
<1% zbioru danych Najwyższa wydajność

Załóżmy na przykład, że zbiór danych do wykrywania wirusów zawiera klasę mniejszościową, która stanowi 0,5% zbioru danych, a klasa większościowa – 99,5%. Zbiory danych o bardzo nierównym rozkładzie, takie jak ten, są powszechne w medycynie, ponieważ większość osób nie ma wirusa.

Rysunek 5.  Wykres słupkowy z 2 słupkami. Jeden słupek pokazuje około 200 zajęć z ujemną oceną, a drugi – 1 zajęcia z oceną dodatnią.
Rysunek 5. Bardzo nierównowaga zbioru danych.

 

Zbiory danych z niezrównoważoną reprezentacją nie zawsze zawierają wystarczającą liczbę przykładów klasy mniejszości, aby można było prawidłowo wytrenować model. Oznacza to, że przy tak małej liczbie pozytywnych etykiet model trenuje prawie wyłącznie na podstawie etykiet negatywnych i nie może nauczyć się wystarczająco dużo o etykietach pozytywnych. Jeśli na przykład rozmiar partii wynosi 50, wiele partii nie będzie zawierać pozytywnych etykiet.

Często, zwłaszcza w przypadku zbiorów danych o niewielkiej lub umiarkowanej nierównowadze, nierównowaga nie stanowi problemu. Dlatego najpierw spróbuj przeprowadzić szkolenie na pierwotnym zbiorze danych. Jeśli model działa dobrze, możesz przejść dalej. W przeciwnym razie model suboptymalny stanowi dobrą wartość odniesienia na potrzeby przyszłych eksperymentów. Następnie możesz wypróbować podane niżej techniki, aby rozwiązać problemy spowodowane niewyważonymi zbiorami danych.

Próbkowanie w dół i przypisywanie większej wagi

Jednym ze sposobów radzenia sobie z niezrównoważonym zbiorem danych jest zmniejszenie próbki i zwiększenie wagi klasy większości. Oto definicje tych 2 nowych terminów:

  • Przetwarzanie próbek w dół (w tym kontekście) oznacza trenowanie na nieproporcjonalnie małej podzbiorze przykładów z większościowej klasy.
  • Zwiększenie wagi oznacza dodanie przykładowej wagi do klasy z obniżonym próbkowaniem o wartości współczynnika, o ile zmniejszono próbkowanie.

Krok 1. Zmniejsz próbkę klasy większości. Rozważ zbiór danych o wirusach pokazany na rysunku 5, który ma stosunek 1 etykiety pozytywnej na 200 etykiet negatywnych. Obniżenie próbkowania 10-krotnie poprawia równowagę do 1 pozytywnej na 20 ujemnych (5%). Chociaż powstały zestaw treningowy jest nadal umiarkowanie niezrównoważony, stosunek pozytywnych do negatywnych wyników jest znacznie lepszy niż w oryginalnie bardzo niezrównoważonym zestawie (0,5%).

Rysunek 6. Wykres słupkowy z 2 słupkami. Jeden słupek pokazuje 20 negatywnych zajęć, a drugi – 1 zajęcia pozytywnego.
Rysunek 6. próbkowania w dół.

 

Krok 2. Zwiększ wagę klasy z próbą przeskalowaną: dodaj wagi przykładów do klasy z próbą przeskalowaną. Po zmniejszeniu próbkowania 10-krotnie waga przykładu powinna wynosić 10. (może się to wydawać sprzeczne z intuicją, ale wyjaśnimy, dlaczego tak jest).

Rysunek 7. Diagram przedstawiający 2-etapowy proces próbkowania w dół i zwiększania wagi.
            Krok 1. Zmniejszenie próbkowania polega na wyodrębnianiu losowych przykładów z klasy większości. Krok 2. Zwiększenie wagi zwiększa wagę przykładów z obniżonym współczynnikiem.
Rysunek 7. zwiększenie wagi.

 

Termin weight (waga) nie odnosi się do parametrów modelu (takich jak w1 czy w2). Tutaj waga odnosi się do wagi przykładów, która zwiększa znaczenie poszczególnych przykładów podczas treningu. Przykładowa waga 10 oznacza, że model traktuje przykład jako 10 razy ważniejszy (podczas obliczania straty) niż przykład o wadze 1.

Wartość weight powinna być równa współczynnikowi użytemu do próbkowania w dół:

 {example weight} = {original example weight} ×{downsampling factor} 

Dodawanie przykładowych wag po przetworzeniu może wydawać się dziwne. W końcu starasz się przecież poprawić wyniki modelu w przypadku klasy mniejszości, więc po co zwiększać wagę klasy większości? Wzrost wagi klasy większości powoduje zmniejszenie uprzedzeń w prognozach. Oznacza to, że po zastosowaniu próbkowania w dół zwiększanie wagi po zastosowaniu próbkowania w górę ma tendencję do zmniejszania różnicy między średnią prognoz modelu a średnią etykiet w danych.

Możesz też zastanawiać się, czy zwiększanie wagi anuluje zmniejszanie wagi. Tak, w pewnym stopniu. Jednak połączenie zwiększania wagi i obniżania próbki umożliwia minipartiom zawierać wystarczającą liczbę klas mniejszości, aby wytrenować skuteczny model.

Zwiększenie wagi klasy mniejszościowej jest zwykle łatwiejsze do wdrożenia niż próbkowanie w dół i zwiększanie wagi klasy większościowej. Jednak zwiększanie wagi klasy mniejszościowej powoduje zwykle zwiększenie stronniczości prognozy.

Zmniejszenie próbki klasy większości przynosi następujące korzyści:

  • Szybsza konwergencja: podczas trenowania model częściej widzi klasę mniejszościową, co pomaga mu szybciej się konwertować.
  • Mniej miejsca na dysku: dzięki konsolidacji klasy większości w mniejszą liczbę przykładów o większych wagach model wykorzystuje mniej miejsca na dysku na przechowywanie tych wag. Dzięki temu można przeznaczyć więcej miejsca na dysku na klasę mniejszości, aby model mógł zebrać większą liczbę przykładów z tej klasy i z większego zakresu.

Niestety zwykle trzeba ręcznie zmniejszyć próbkę klasy większości, co może być czasochłonne podczas eksperymentów treningowych, zwłaszcza w przypadku bardzo dużych zbiorów danych.

Współczynniki przywracania równowagi

Jak bardzo należy zmniejszyć próbkę i zwiększyć wagę, aby zrównoważyć zbiór danych? Aby to ustalić, eksperymentuj z proporcją ponownego wyważenia, tak jak w przypadku innych hiperparametrów. Odpowiedź zależy jednak od tych czynników:

  • Wielkość wsadu
  • współczynnik nierównowagi;
  • Liczba przykładów w zbiorze treningowym

Najlepiej, jeśli każda partia będzie zawierać wiele przykładów z klasy mniejszościowej. Partie, które nie zawierają wystarczającej liczby klas mniejszościowych, będą się bardzo słabo uczyć. Wielkość wsadu powinna być kilkakrotnie większa niż współczynnik braku równowagi. Jeśli na przykład stosunek nierównowagi wynosi 100:1, rozmiar partii powinien wynosić co najmniej 500.

Ćwiczenie: sprawdź swoją wiedzę

Rozważ tę sytuację:

  • Zbiór treningowy zawiera nieco ponad miliard przykładów.
  • Wielkość wsadów to 128.
  • Stosunek nierównowagi wynosi 100:1, więc zbiór treningowy jest podzielony w ten sposób:
    • około 1 mld przykładów większościowych klas;
    • około 10 mln przykładów z klasy mniejszościowej;
Które z poniższych stwierdzeń jest prawdziwe?
Obecne hiperparametry są odpowiednie.
Zwiększenie rozmiaru partii do 1024 zwiększy jakość modelu.
Utrzymanie rozmiaru partii na poziomie 128, ale zmniejszenie próbkowania (i zwiększenie wagi) do 20:1 poprawi uzyskany model.