Zapobieganie nadmiernemu dopasowaniu i nierównowagowaniu danych za pomocą zautomatyzowanego uczenia maszynowego

Nadmierne dopasowanie i nierównowaga danych są typowymi pułapkami podczas tworzenia modeli uczenia maszynowego. Domyślnie zautomatyzowane uczenie maszynowe w usłudze Azure Machine Learning udostępnia wykresy i metryki, które ułatwiają identyfikowanie tych czynników ryzyka, oraz implementuje najlepsze rozwiązania ułatwiające ich eliminowanie.

Identyfikowanie nadmiernego dopasowania

Nadmierne dopasowanie w uczeniu maszynowym występuje, gdy model zbyt dobrze pasuje do danych treningowych i w rezultacie nie może dokładnie przewidzieć niezamierzonych danych testowych. Innymi słowy, model zapamiętał konkretne wzorce i szumy w danych treningowych, ale nie jest wystarczająco elastyczny, aby przewidywać rzeczywiste dane.

Rozważmy następujące wytrenowane modele oraz ich odpowiednie dokładności trenowania i testowania.

Model Dokładność trenowania Dokładność testu
A 99,9% 95%
B 87% 87%
C 99,9% 45%

Rozważmy model A, istnieje powszechne błędne przekonanie, że jeśli dokładność testu dla niezaufanych danych jest niższa niż dokładność trenowania, model jest nadmiernie dopasowany. Jednak dokładność testu zawsze powinna być mniejsza niż dokładność trenowania, a rozróżnienie dla nadmiernego dopasowania w porównaniu z odpowiednim dopasowaniem sprowadza się do tego, ile mniej dokładne.

Porównaj modele A i B, model A jest lepszym modelem, ponieważ ma wyższą dokładność testu i chociaż dokładność testu jest nieco niższa od 95%, nie jest to znacząca różnica, która sugeruje, że nadmierne dopasowanie jest obecne. Nie należy wybierać modelu B , ponieważ dokładność trenowania i testowania jest bliżej siebie.

Model C reprezentuje wyraźny przypadek nadmiernego dopasowania; dokładność trenowania jest wysoka, ale dokładność testu nie jest nigdzie zbliżona do wysokiej. To rozróżnienie jest subiektywne, ale pochodzi z wiedzy o problemie i danych oraz o tym, jakie wielkości błędów są dopuszczalne.

Zapobieganie nadmiernemu dopasowaniu

W najbardziej rażących przypadkach nadmierny model zakłada, że kombinacje wartości funkcji widoczne podczas trenowania zawsze powodują, że dokładnie te same dane wyjściowe dla celu.

Najlepszym sposobem zapobiegania nadmiernemu dopasowaniu jest przestrzeganie najlepszych rozwiązań dotyczących uczenia maszynowego, w tym:

  • Korzystanie z większej ilości danych szkoleniowych i eliminowanie stronniczych danych statystycznych
  • Zapobieganie wyciekom docelowym
  • Korzystanie z mniejszej liczby funkcji
  • Regularyzacja i optymalizacja hiperparametrów
  • Ograniczenia złożoności modelu
  • Krzyżowe sprawdzanie poprawności

W kontekście zautomatyzowanego uczenia maszynowego pierwsze trzy sposoby zawiera listę najlepszych rozwiązań, które implementujesz. Ostatnie trzy pogrubione elementy to najlepsze rozwiązania, które domyślnie implementują zautomatyzowane uczenie maszynowe , aby chronić przed nadmiernym dopasowaniem. W ustawieniach innych niż zautomatyzowane uczenie maszynowe wszystkie sześć najlepszych rozwiązań warto poznać, aby uniknąć nadmiernego dopasowania modeli.

Najlepsze rozwiązania, które implementujesz

Korzystanie z większej ilości danych

Użycie większej ilości danych to najprostszy i najlepszy możliwy sposób zapobiegania nadmiernemu dopasowaniu, a dodatkowa premia zwykle zwiększa dokładność. Gdy używasz większej ilości danych, zapamiętywanie dokładnych wzorców przez model staje się trudniejsze i jest zmuszone do dotarcia do rozwiązań, które są bardziej elastyczne w celu spełnienia większej liczby warunków. Ważne jest również, aby rozpoznawać stronniczość statystyczną, aby upewnić się, że dane szkoleniowe nie zawierają izolowanych wzorców, które nie istnieją w danych przewidywania na żywo. Ten scenariusz może być trudny do rozwiązania, ponieważ może wystąpić nadmierne dopasowanie w porównaniu z danymi testowym na żywo.

Zapobieganie wyciekom docelowym

Wyciek docelowy jest podobnym problemem, który polega na tym, że nie widać nadmiernego dopasowania między zestawami treningowymi/testowymi, ale raczej pojawia się w czasie przewidywania. Wyciek docelowy występuje, gdy model "oszukuje" podczas trenowania, mając dostęp do danych, których zwykle nie powinien mieć w czasie przewidywania. Na przykład, aby przewidzieć w poniedziałek, jaka będzie cena surowca w piątek, jeśli funkcje przypadkowo uwzględniły dane z czwartków, byłoby to dane, których model nie będzie miał w czasie przewidywania, ponieważ nie może zobaczyć w przyszłości. Wyciek docelowy jest łatwym błędem do pominięcia, ale często charakteryzuje się nietypowo wysoką dokładnością problemu. Jeśli próbujesz przewidzieć cenę akcji i wytrenować model z dokładnością do 95%, prawdopodobnie nastąpi wyciek docelowy gdzieś w funkcjach.

Używanie mniejszej liczby funkcji

Usunięcie funkcji może również pomóc w nadmiernym dopasowaniu, uniemożliwiając modelowi używanie zbyt wielu pól do zapamiętywania określonych wzorców, co powoduje, że jest bardziej elastyczne. Pomiar ilościowy może być trudny, ale jeśli można usunąć funkcje i zachować taką samą dokładność, prawdopodobnie model będzie bardziej elastyczny i zmniejszy ryzyko nadmiernego dopasowania.

Najlepsze rozwiązania dotyczące implementowania zautomatyzowanego uczenia maszynowego

Regularyzacja i dostrajanie hiperparametrów

Regularyzacja to proces minimalizowania funkcji kosztu w celu karania złożonych i nadmiernie dopasowanych modeli. Istnieją różne typy funkcji uregulowania, ale ogólnie rzecz biorąc, wszystkie karają rozmiar współczynnika modelu, wariancję i złożoność. Zautomatyzowane uczenie maszynowe używa jednocześnie L1 (Lasso), L2 (Ridge) i ElasticNet (L1 i L2) w różnych kombinacjach z różnymi ustawieniami hiperparametrów modelu, które kontrolują nadmierne dopasowanie. Zautomatyzowane uczenie maszynowe różni się od tego, ile model jest regulowany, i wybiera najlepszy wynik.

Ograniczenia złożoności modelu

Zautomatyzowane uczenie maszynowe implementuje również jawne ograniczenia złożoności modelu, aby zapobiec nadmiernemu dopasowaniu. W większości przypadków ta implementacja jest przeznaczona specjalnie dla algorytmów drzewa decyzyjnego lub lasu, gdzie maksymalna głębokość pojedynczego drzewa jest ograniczona, a łączna liczba drzew używanych w lasach lub technikach zespołów jest ograniczona.

Krzyżowe sprawdzanie poprawności

Krzyżowa walidacja (CV) to proces przyjmowania wielu podzbiorów pełnych danych treningowych i trenowania modelu w każdym podzestawie. Chodzi o to, że model może mieć "szczęście" i mieć dużą dokładność z jednym podzbiorem, ale przy użyciu wielu podzbiorów model nie osiągnie tej wysokiej dokładności za każdym razem. Podczas wykonywania cv należy podać zestaw danych blokady sprawdzania poprawności, określić fałdy CV (liczbę podzestawów) i zautomatyzowane uczenie maszynowe trenuje model i dostraja hiperparametry, aby zminimalizować błąd w zestawie walidacji. Jedna fałsz cv może być nadmiernie dopasowana, ale przy użyciu wielu z nich zmniejsza prawdopodobieństwo, że ostateczny model jest nadmiernie dopasowany. Kompromis polega na tym, że CV skutkuje dłuższym czasem trenowania i większym kosztem, ponieważ trenujesz model raz dla każdego n w podzestawach CV.

Uwaga

Krzyżowe sprawdzanie poprawności nie jest domyślnie włączone; Musi być skonfigurowany w ustawieniach zautomatyzowanego uczenia maszynowego. Jednak po skonfigurowaniu krzyżowego sprawdzania poprawności i udostępnieniu zestawu danych sprawdzania poprawności proces jest zautomatyzowany.

Identyfikowanie modeli z niezrównoważonych danych

Dane niezrównoważonych często znajdują się w danych dla scenariuszy klasyfikacji uczenia maszynowego i odnoszą się do danych, które zawierają nieproporcjonalny stosunek obserwacji w każdej klasie. Ta nierównowaga może prowadzić do fałszywie postrzeganego pozytywnego wpływu dokładności modelu, ponieważ dane wejściowe mają stronniczość wobec jednej klasy, co powoduje, że wytrenowany model naśladuje tę stronniczość.

Ponadto automatyczne zadania uczenia maszynowego automatycznie generują następujące wykresy. Te wykresy pomagają zrozumieć poprawność klasyfikacji modelu i zidentyfikować modele, na które potencjalnie wpływa nierównowaga danych.

Wykres Opis
Macierz pomyłek Ocenia prawidłowo sklasyfikowane etykiety względem rzeczywistych etykiet danych.
Kompletność precyzji Ocenia stosunek prawidłowych etykiet względem współczynnika znalezionych wystąpień etykiet danych
Krzywe ROC Ocenia stosunek prawidłowych etykiet do stosunku etykiet fałszywie dodatnich.

Obsługa niezrównoważonych danych

W ramach swojego celu uproszczenia przepływu pracy uczenia maszynowego zautomatyzowane uczenie maszynowe ma wbudowane funkcje ułatwiające radzenie sobie z nierównowagą danymi, takimi jak,

  • Kolumna wagi: Zautomatyzowane uczenie maszynowe tworzy kolumnę wag jako dane wejściowe, aby spowodować, że wiersze w danych mają być ważone w górę lub w dół, co może służyć do tworzenia klasy mniej lub bardziej "ważnej".

  • Algorytmy używane przez zautomatyzowane uczenie maszynowe wykrywają nierównowagę, gdy liczba próbek w klasie mniejszości jest równa lub mniejsza niż 20% liczby próbek w klasie większości, gdzie klasa mniejszości odnosi się do tej z najmniejszą próbką, a klasa większościowa odnosi się do tej z największą liczbą próbek. Następnie zautomatyzowane uczenie maszynowe przeprowadzi eksperyment z podampled danymi, aby sprawdzić, czy użycie wag klas rozwiązałoby ten problem i poprawiło wydajność. Jeśli ustali lepszą wydajność w ramach tego eksperymentu, zostanie zastosowany ten środek zaradczy.

  • Użyj metryki wydajności, która lepiej radzi sobie z nierównowagowymi danymi. Na przykład AUC_weighted jest podstawową metryką, która oblicza wkład każdej klasy na podstawie względnej liczby próbek reprezentujących klasę, dlatego jest bardziej niezawodna w stosunku do nierównowagi.

Poniższe techniki to dodatkowe opcje obsługi niezrównoważonych danych poza zautomatyzowanym uczeniem maszynowym.

  • Przeróbkowanie do nawet nierównowagi klas przez próbkowanie w górę mniejszych klas lub próbkowanie w dół większe klasy. Te metody wymagają wiedzy fachowej do przetwarzania i analizowania.

  • Przejrzyj metryki wydajności pod kątem niezrównoważonych danych. Na przykład wynik F1 jest średnią harmoniczną precyzji i kompletności. Precyzja mierzy dokładność klasyfikatora, gdzie większa precyzja wskazuje mniejszą liczbę wyników fałszywie dodatnich, podczas gdy kompletność klasyfikatora mierzy kompletność klasyfikatora, gdzie wyższa kompletność wskazuje mniejszą liczbę wyników fałszywie ujemnych.

Następne kroki

Zobacz przykłady i dowiedz się, jak tworzyć modele przy użyciu zautomatyzowanego uczenia maszynowego: