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 funkcja zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning udostępnia wykresy i metryki, które ułatwiają identyfikowanie tych zagrożeń. W tym artykule opisano, jak można zaimplementować najlepsze rozwiązania w zautomatyzowanym uczeniu maszynowym, aby ułatwić rozwiązywanie typowych problemów.

Identyfikowanie nadmiernego dopasowania

Nadmierne dopasowanie w uczeniu maszynowym występuje, gdy model zbyt dobrze pasuje do danych treningowych. W związku z tym model nie może wykonywać dokładnych przewidywań na niezamierzonych danych testowych. Model zapamiętał określone wzorce i szumy w danych treningowych i nie jest wystarczająco elastyczny, aby przewidywać rzeczywiste dane.

Rozważmy następujące wytrenowane modele i odpowiadające im dokładności trenowania i testowania:

Model Dokładność trenowania Dokładność testu
A 99,9% 95%
B 87% 87%
C 99,9% 45%
  • Model A: Test dla tego modelu generuje nieco mniejszą dokładność niż trenowanie modelu. Istnieje powszechne błędne przekonanie, że jeśli dokładność testu na niesprawnionych danych jest niższa niż dokładność trenowania, model jest nadmiernie dopasowany. Jednak dokładność testu powinna zawsze być mniejsza niż dokładność trenowania. Rozróżnienie między nadmiernym dopasowaniem a odpowiednio dopasowanymi danymi sprowadza się do pomiaru , ile mniej jest dokładnością.

  • Model A a model B: Model A jest lepszym modelem, ponieważ ma większą dokładność testu. Chociaż dokładność testu jest nieco niższa od 95%, nie jest to znacząca różnica, która sugeruje nadmierne dopasowanie jest obecne. Model B nie jest preferowany, ponieważ dokładność trenowania i testowania jest podobna.

  • Model C: ten model reprezentuje wyraźny przypadek nadmiernego dopasowania. Dokładność trenowania jest wysoka, a dokładność testu jest niska. To rozróżnienie jest subiektywne, ale pochodzi z wiedzy na temat problemu i danych oraz jakie są dopuszczalne wielkości błędów.

Zapobieganie nadmiernemu dopasowaniu

W najbardziej rażących przypadkach model nadmiernie dopasowany zakłada, że kombinacje wartości funkcji widoczne podczas trenowania zawsze powodują, że dokładnie te same dane wyjściowe dla celu. Aby uniknąć nadmiernego dopasowania danych, zaleca się przestrzeganie najlepszych rozwiązań uczenia maszynowego. Oto kilka metod, które można skonfigurować w implementacji modelu. Zautomatyzowane uczenie maszynowe udostępnia również inne opcje domyślnie, aby zapobiec nadmiernemu dopasowaniu.

Poniższa tabela zawiera podsumowanie typowych najlepszych rozwiązań:

Najlepsze rozwiązanie Implementacja Zautomatyzowane uczenie maszynowe
Używanie większej ilości danych szkoleniowych i eliminowanie stronniczych danych statystycznych X
Zapobieganie wyciekom docelowym X
Uwzględnianie mniejszej liczby funkcji X
Obsługa regularyzacji i optymalizacji hiperparametrów X
Stosowanie ograniczeń złożoności modelu X
Korzystanie z krzyżowego sprawdzania poprawności X

Stosowanie najlepszych rozwiązań w celu zapobiegania nadmiernemu dopasowaniu

W poniższych sekcjach opisano najlepsze rozwiązania, których można użyć w implementacji modelu uczenia maszynowego, aby zapobiec nadmiernemu dopasowaniu.

Korzystanie z większej ilości danych

Użycie większej ilości danych jest najprostszym i najlepszym możliwym sposobem zapobiegania nadmiernemu dopasowaniu, a takie podejście zwykle zwiększa dokładność. Gdy używasz większej ilości danych, model staje się trudniejszy do zapamiętywania dokładnych wzorców. Model jest zmuszony do dotarcia do rozwiązań, które są bardziej elastyczne, aby pomieścić więcej 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 istnieć nadmierne dopasowanie w porównaniu z danymi testowych na żywo.

Zapobieganie wyciekom docelowym

Wyciek docelowy jest podobnym problemem. Może nie być widoczne nadmierne dopasowanie między zestawami pociągu i zestawów testowych, ale problem z wyciekiem pojawia się w czasie przewidywania. Wyciek docelowy występuje, gdy model "oszukuje" podczas trenowania przez uzyskanie dostępu do danych, które zwykle nie powinny być dostępne w czasie przewidywania. Przykładem jest to, że model przewiduje w poniedziałek, jaka jest cena towaru w piątek. Jeśli twoje funkcje przypadkowo zawierają dane z czwartków, model ma dostęp do danych niedostępnych w czasie przewidywania, ponieważ nie może zobaczyć w przyszłości. Wyciek docelowy jest łatwym błędem, który można przegapić. Często jest to widoczne, gdy występuje nietypowo wysoka dokładność problemu. Jeśli próbujesz przewidzieć cenę akcji i wytrenować model z dokładnością do 95%, prawdopodobnie istnieje docelowy wyciek gdzieś w funkcjach.

Uwzględnianie mniejszej liczby funkcji

Usunięcie funkcji może również pomóc w nadmiernym dopasowaniu, uniemożliwiając modelowi zbyt wiele pól do zapamiętywania określonych wzorców, co powoduje, że będzie bardziej elastyczny. Mierzenie ilościowe może być trudne. Jeśli możesz usunąć funkcje i zachować tę samą dokładność, model może być bardziej elastyczny i zmniejszyć ryzyko nadmiernego dopasowania.

Przejrzyj funkcje zautomatyzowanego uczenia maszynowego, aby zapobiec nadmiernemu dopasowaniu

W poniższych sekcjach opisano najlepsze rozwiązania udostępniane domyślnie w zautomatyzowanej uczenia maszynowego, aby zapobiec nadmiernemu dopasowaniu.

Obsługa regularyzacji i dostrajania hiperparametrów

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

Stosowanie ograniczeń 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. Maksymalna głębokość drzewa jest ograniczona, a łączna liczba drzew używanych w technikach lasu lub zespołów jest ograniczona.

Korzystanie z krzyżowego sprawdzania 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 podzestawem, ale przy użyciu wielu podzbiorów model nie może osiągnąć wysokiej dokładności za każdym razem. W przypadku cv należy podać zestaw danych blokady weryfikacji, określić fałdy CV (liczbę podzestawów) i zautomatyzowane uczenie maszynowe trenuje model i parametry hiperparametrów, aby zminimalizować błąd w zestawie walidacji. Jedna fałsz CV może być nadmiernie dopasowana, ale przy użyciu wielu z nich proces 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 jeden raz dla każdego n w podzestawach CV.

Uwaga

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

Identyfikowanie modeli z niezrównoważonymi danymi

Dane niezrównoważonych często znajdują się w danych dla scenariuszy klasyfikacji uczenia maszynowego i odnoszą się do danych, które zawierają nieproporcjonalny współczynnik obserwacji w każdej klasie. Dysproporcja ta może prowadzić do fałszywie postrzeganego pozytywnego wpływu dokładności modelu, ponieważ dane wejściowe mają stronniczość względem 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 poprawnie sklasyfikowane etykiety względem rzeczywistych etykiet danych.
Kompletność precyzji Ocenia stosunek prawidłowych etykiet do współczynnika znalezionych wystąpień etykiet danych.
Krzywe ROC Ocenia stosunek prawidłowych etykiet do współczynnika etykiet fałszywie dodatnich.

Obsługa niezrównoważonych danych

W ramach celu uproszczenia przepływu pracy uczenia maszynowego zautomatyzowane uczenie maszynowe oferuje wbudowane funkcje ułatwiające radzenie sobie z niezrównoważonymi danymi:

  • 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ściowej. Klasa mniejszości odnosi się do tej z najmniejszą próbką, a klasa większości odnosi się do tej z większością próbek. Później zautomatyzowane uczenie maszynowe przeprowadza eksperyment z podprzykładowymi danymi, aby sprawdzić, czy użycie wag klas może rozwiązać ten problem i poprawić wydajność. Jeśli ustali lepszą wydajność w ramach tego eksperymentu, stosuje środek zaradczy.

  • Użyj metryki wydajności, która radzi sobie lepiej z niezrównoważonymi 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 tą klasę. Ta metryka jest bardziej niezawodna w stosunku do nierównowagi.

Poniższe techniki to inne opcje obsługi niezrównoważonych danych poza automatycznym uczeniem maszynowym:

  • Przeróbkuj, aby nawet nierównowaga klas. Możesz w górę próbkować mniejsze klasy lub próbkować 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 mniej wyników fałszywie dodatnich. Kompletność klasyfikatora mierzy kompletność klasyfikatora, gdzie wyższa kompletność wskazuje mniej wyników fałszywie ujemnych.

Następny krok