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%. W medycynie często występują zbiory danych o bardzo nierównym rozkładzie, ponieważ większość badanych 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 z klasy mniejszości, aby prawidłowo wytrenować model. Oznacza to, że przy tak małej liczbie pozytywnych etykiet model trenuje niemal wyłącznie na podstawie etykiet negatywnych i nie może nauczyć się wystarczająco dużo na temat etykiet 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 i umiarkowanej nierównowadze, nierównowaga nie stanowi problemu. Dlatego najpierw spróbuj przeprowadzić szkolenie na podstawie pierwotnego zbioru danych. Jeśli model działa dobrze, możesz przejść dalej. W przeciwnym razie model suboptymalny stanowi dobrą podstawę 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 większości klas.
  • 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 obniżonym próbkowaniem: dodaj wagi przykładów do klasy z obniżonym próbkowaniem. 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 próbkowaniem.
Rysunek 7. zwiększenie wagi.

 

Termin weight (waga) nie odnosi się do parametrów modelu (np. w1 lub 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 zwiększa zwykle stronniczość prognozy.

Użycie próbkowania w dół w przypadku klasy większościowej 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 zawiera kilka 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 nieró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?
Utrzymanie rozmiaru partii na poziomie 128, ale zmniejszenie próbkowania (i zwiększenie wagi) do 20:1 poprawi uzyskany model.
Obecne hiperparametry są w porządku.
Zwiększenie rozmiaru partii do 1024 zwiększy jakość modelu.