Nadmierne dopasowanie

Nadmiernie dopasowany oznacza, że model tak dobrze pasuje (zapamiętuje) do zbioru danych treningowych, że nie jest w stanie trafnie prognozować na podstawie nowych danych. Nadmiernie dopasowany model jest podobny do wynalazku, który dobrze sprawdza się w laboratorium, ale jest bezużyteczny w rzeczywistym świecie.

Na rysunku 11 wyobraź sobie, że każdy kształt geometryczny reprezentuje położenie drzewa w kwadratowym lesie. Niebieskie diamenty oznaczają zdrowe drzewa, a pomarańczowe koła – chore.

Rysunek 11. Rysunek zawiera około 60 punktów, z których połowa to zdrowe drzewa, a druga połowa to chore drzewa.
            Zdrowe drzewa znajdują się głównie w północno-wschodnim kwadracie, ale kilka z nich jest też w północno-zachodnim. Chore drzewa znajdują się głównie w południowo-wschodnim kwadrancie, ale kilka z nich znajduje się też w innych kwadrantach.
Rysunek 11. Zbiór danych do treningu: położenie zdrowych i chorych drzew w kwadratowym lesie.

 

Wyobraź sobie dowolne kształty – linie, krzywe, owalne kształty...cokolwiek – aby odróżnić zdrowe drzewa od chorych. Następnie rozwiń następny wiersz, aby sprawdzić jedną z możliwych separacji.

Złożone kształty pokazane na rysunku 12 zostały pogrupowane według wszystkich drzew z wyjątkiem dwóch. Jeśli potraktujemy kształty jako model, to jest to fantastyczny model.

A może jednak? Prawdziwie doskonały model skutecznie przypisuje nowe przykłady do kategorii. Ilustracja 13 pokazuje, co się dzieje, gdy ten sam model prognozuje na podstawie nowych przykładów ze zbioru testowego:

Rysunek 13. Nowa partia zdrowych i chorych drzew nałożona na model pokazany na rysunku 12. Model źle przypisuje kategorie wielu drzewom.
Rysunek 13. Zestaw testów: złożony model służący do rozróżniania chorych i zdrowych drzew.

 

Złożony model na rysunku 12 dobrze poradził sobie ze zbiorem treningowym, ale nie z zestawem testowym. To typowy przypadek nadmiernego dopasowania modelu do danych w zbiorze treningowym.

Dopasowanie, nadmierne dopasowanie i niedopasowanie

Model musi dobrze prognozować na podstawie nowych danych. Oznacza to, że chcesz utworzyć model, który „pasuje” do nowych danych.

Jak widzisz, model nadmiernie dopasowany świetnie prognozuje na zbiorze treningowym, ale słabo na nowych danych. Niedopasowany model nie jest w stanie nawet dobrze prognozować na podstawie danych treningowych. Jeśli model nadmiernie dopasowany jest jak produkt, który dobrze sprawdza się w laboratorium, ale słabo w rzeczywistych warunkach, to model niedopasowany jest jak produkt, który nie sprawdza się nawet w laboratorium.

Rysunek 14. Wykres kartezjański. Na osi X widnieje etykieta „jakość prognoz na podstawie zbioru treningowego”. Oś Y ma etykietę „jakość prognoz na podstawie rzeczywistych danych”. Krzywa zaczyna się w początku i powoli wzrasta, ale potem równie szybko opada. Lewym dolnym fragmentem krzywej (niska jakość prognoz na podstawie rzeczywistych danych i niska jakość prognoz na zbiorze treningowym) jest oznaczony jako „modele niedopasowane”. Prawy dolny fragment krzywej (niska jakość prognoz na podstawie rzeczywistych danych, ale wysoka jakość prognoz na zbiorze treningowym) jest oznaczony jako „modele nadmiernie dopasowane”. Szczyt krzywej (wysoka jakość prognoz na podstawie rzeczywistych danych i średnia jakość prognoz na zbiorze treningowym) jest oznaczony jako „modele dopasowania”.
Rysunek 14. Modele niedostosowany, dopasowany i nadmiernie dopasowany.

 

Uogólnienie jest przeciwieństwem nadmiernego dopasowania. Oznacza to, że model, który dobrze się generalizuje, dobrze prognozuje na podstawie nowych danych. Twoim celem jest utworzenie modelu, który dobrze się generalizuje na nowych danych.

Wykrywanie nadmiernego dopasowania

Te krzywe pomogą Ci wykryć nadmierne dopasowanie:

  • krzywe utraty
  • krzywe uogólniające

Krzywa strat przedstawia straty modelu w zależności od liczby iteracji treningu. Wykres, który pokazuje co najmniej 2 krzywe strat, nazywa się krzywą generalizacji. Na poniższej krzywej generalizacji widać 2 krzywe strat:

Rysunek 15. Funkcja straty dla zbioru treningowego stopniowo maleje. Funkcja utraty dla zbioru walidacyjnego również maleje, ale po określonej liczbie iteracji zaczyna rosnąć.
Rysunek 15. Krzywa generalizacji, która wyraźnie sugeruje przetrenowanie.

 

Zwróć uwagę, że obie krzywe strat początkowo zachowują się podobnie, a potem się rozchodzą. Oznacza to, że po określonej liczbie iteracji straty maleją lub pozostają na stałym poziomie (zbiegają się) w przypadku zbioru treningowego, ale rosną w przypadku zbioru walidacyjnego. To sugeruje nadmierne dopasowanie.

Natomiast krzywa uogólniania dla dobrze dopasowanego modelu zawiera 2 krzywe strat o podobnym kształcie.

Co powoduje nadmierne dopasowanie?

Ogólnie rzecz biorąc, przetrenowanie jest spowodowane jednym lub większą liczbą tych problemów:

  • Zbiór treningowy nie odzwierciedla wystarczająco dobrze danych rzeczywistych (ani zbioru walidacyjnego, ani zbioru testowego).
  • Model jest zbyt złożony.

Warunki uogólniania

Model trenuje na zbiorze treningowym, ale prawdziwy test jego wartości polega na sprawdzeniu, jak dobrze prognozuje on nowe przykłady, zwłaszcza na podstawie rzeczywistych danych. Podczas tworzenia modelu zbiór testowy pełni funkcję zastępczą dla danych rzeczywistych. Trenowanie modelu, który dobrze generalizuje, wymaga spełnienia tych warunków dotyczących zbioru danych:

  • Przykłady muszą być rozłożone niezależnie i identycznie, co jest wymyślnym sposobem na powiedzenie, że przykłady nie mogą na siebie wpływać.
  • Zbiór danych jest statyczny, co oznacza, że nie zmienia się znacząco w czasie.
  • Partycje zbioru danych mają ten sam rozkład. Oznacza to, że przykłady w zbiorze treningowym są statystycznie podobne do przykładów w zbiorze walidacyjnym, zbiorze testowym i danych rzeczywistych.

Poznaj te warunki, wykonując podane niżej ćwiczenia.

Ćwiczenia: sprawdź swoją wiedzę

Rozważ te partycje zbioru danych.
Podłużna belka podzielona na 3 części: 70% to zbiór treningowy, 15% – zbiór walidacyjny, a 15% – zbiór testowy
Co należy zrobić, aby przykłady w zbiorze treningowym miały podobną dystrybucję statystyczną jak przykłady w zbiorze do walidacji i zbiorze testowym?
Wymieszaj przykłady w zbiorze danych przed podziałem na partycje.
Tak. Dobrze zmiksowane przykłady sprawiają, że partycje są statystycznie bardziej podobne.
Posortuj przykłady od najstarszego do najnowszego.
Jeśli przykłady w zbiorze danych nie są stacjonarne, sortowanie powoduje, że partycje stają się mniej podobne.
Nic nie rób. Przy wystarczającej liczbie przykładów prawo średnich zapewnia, że rozkłady będą statystycznie podobne.
Niestety tak nie jest. Przykłady w pewnych sekcjach zbioru danych mogą różnić się od tych w innych sekcjach.
Usługa strumieniowania danych opracowuje model prognozowania popularności potencjalnych nowych programów telewizyjnych na najbliższe 3 lata. Usługa streamingowa planuje wytrenować model na zbiorze danych zawierającym setki milionów przykładów z ostatnich 10 lat. Czy ten model napotka problem?
Może. Gusty widzów zmieniają się w sposób, którego nie da się przewidzieć na podstawie ich wcześniejszych zachowań.
Tak. Gusty widzów nie są niezmienne. stale się zmieniają.
Zdecydowanie nie. zbiór danych jest wystarczająco duży, aby można było na jego podstawie tworzyć dobre prognozy;
Niestety gustacje widzów nie są stacjonarne.
Raczej nie. Gusty widzów zmieniają się w przewidywalny sposób. Dane z 10 lat pozwolą modelowi na trafne prognozowanie przyszłych trendów.
Chociaż niektóre aspekty rozrywki są nieco cykliczne, model wytrenowany na podstawie historii rozrywki z przeszłości prawie na pewno będzie miał problemy z przewidywaniem trendów na najbliższe kilka lat.
Model ma przewidywać czas potrzebny na przejście 1,6 km na podstawie danych pogodowych (temperatury, punktu rosy i opadów) zebranych w ciągu roku w mieście, w którym pogoda zmienia się znacząco w zależności od pory roku. Czy możesz utworzyć i przetestować model na podstawie tego zbioru danych, mimo że odczyty pogody zmieniają się znacznie w zależności od pory roku?
Tak
Tak, można utworzyć i przetestować model na podstawie tego zbioru danych. Musisz tylko zadbać o to, aby dane były podzielone równo, tak aby dane ze wszystkich 4 sezonów były równomiernie rozdzielone na różne partycje.
Nie
Zakładając, że ten zbiór danych zawiera wystarczającą liczbę przykładów temperatury, punktu rosy i opadów, możesz utworzyć i przetestować model na jego podstawie. Musisz tylko zadbać o to, aby dane były podzielone na partycje w równych proporcjach, tak aby dane ze wszystkich 4 sezonów były równomiernie rozłożone na różne partycje.

Wyzwanie

Tworzysz model, który przewiduje idealną datę zakupu biletu na pociąg dla pasażerów na danej trasie. Model może na przykład zalecać użytkownikom zakup biletu 8 lipca na pociąg, który odjeżdża 23 lipca. Cena jest aktualizowana co godzinę na podstawie różnych czynników, ale przede wszystkim bieżącej liczby dostępnych miejsc. Czyli:

  • Jeśli jest dużo wolnych miejsc, ceny biletów są zwykle niskie.
  • Jeśli jest niewiele miejsc, ceny biletów są zwykle wysokie.
Twój model osiąga niskie straty na zbiorze walidacji i zbiorze testowym, ale czasami podaje fatalne prognozy na podstawie rzeczywistych danych. Dlaczego?
Kliknij tutaj, aby zobaczyć odpowiedź