Co to jest overfitting i underfitting w uczeniu maszynowym? [Wszystko, czego musisz się nauczyć]
Opublikowany: 2020-02-18Uczenie maszynowe nie jest najłatwiejszym tematem do opanowania. Overfitting i Underfitting to kilka z wielu terminów, które są powszechne w społeczności uczenia maszynowego. Zrozumienie tych pojęć położy podwaliny pod Twoją przyszłą naukę.
O tych pojęciach dowiemy się głęboko w tym artykule. Omówimy również podstawową koncepcję tych błędów, przyczyny ich występowania i sposoby ich naprawy. Dowiesz się również trochę o modelach danych i ich związku z tymi błędami.
Więc bez owijania w bawełnę, zanurkujmy od razu w:
Spis treści
Co to jest model danych?
Zanim zaczniemy omawiać, czym są overfitting i underfitting, najpierw zrozummy, czym jest model. Model danych to system do przewidywania danych wejściowych. Można powiedzieć, że model to teoria rozwiązywania problemu. Na przykład, jeśli chcesz przewidzieć wzrost wielu firm, możesz wziąć ich zyski jako dane wejściowe i wygenerować wyniki na podstawie relacji między ich zarobkami a wzrostem. Wynikiem dla tego przykładu byłby przewidywany wzrost firm.
Tak więc nakładem jest bieżący zysk firm, podczas gdy ich prognozy wzrostu są wynikiem. Relacja między tymi dwoma jest modelem. Modele są niezbędne do generowania wyników.
Model rozumie relację między danymi wejściowymi i wyjściowymi za pośrednictwem szkoleniowego zestawu danych. Nazywamy właściwości wejść i etykiety wyjść. Możesz więc zobaczyć również te nazwy w artykule. Podczas uczenia modelu nadasz mu cechy oraz etykiety i pozwolisz mu określić relacje między nimi. Po ukończeniu szkolenia możesz wypróbować model, nadając mu tylko zestaw funkcji, których prawidłowe prognozy są dla Ciebie dostępne.

Po wygenerowaniu prognoz porównasz je z poprawnymi prognozami, które posiadasz i zobaczysz, jak dokładny był model. Modele mają wiele kształtów.
Trening i testowanie danych
Możesz nadać swojemu modelowi danych doskonałe funkcje, gdy jesteś początkujący, ale tak nie jest w prawdziwym świecie. Dane w świecie rzeczywistym wypełnione są szumem i bezużytecznymi informacjami. Bez względu na to, jakie jest źródło Twoich danych, znajdziesz w nim pewne zmienne, które nie pasują do trendu.
W naszym przykładzie prognoz wzrostu firm wiesz, że ich wzrost nie będzie zależał wyłącznie od zysków. W grę wchodziłoby wiele czynników. Podczas treningu modelu powinieneś dodać trochę szumu, aby był realistyczny. Po utworzeniu danych musiałbyś podzielić je na dwa zestawy do treningu i testowania.
Użyjesz danych uczących, aby pomóc modelowi nauczyć się relacji między funkcjami a etykietami. I użyjesz danych testowych do oceny jego wydajności.
W świecie danych istnieje wiele form modeli. Wybór jednego może być trochę zniechęcający, ale przy odrobinie praktyki staje się łatwiejszy. Model standardowy to regresja wielomianowa. Jest to forma regresji liniowej, w której dane wejściowe są podnoszone do różnych potęg. To rodzaj regresji liniowej, ale nie tworzy linii prostej. Przeczytaj więcej o implementacji regresji liniowej.
Wielomian definiujesz według jego kolejności. Rząd wielomianu jest najwyższą potęgą x w jego równaniu. A kolejność wielomianu również pokazuje jego stopień. Na przykład równanie linii prostej ma 1 stopień.
Znaczenie naprawy nadmiernego i niedopasowanego dopasowania w uczeniu maszynowym
Dopasowanie i niedopasowanie występują, gdy mamy do czynienia ze stopniem wielomianu modelu. Jak wspomnieliśmy wcześniej, stopień wielomianu zależy od najwyższej potęgi x w jego równaniu. Ta wartość wskazuje, jak elastyczny jest Twój model. Jeśli twój model ma wysoki stopień, będzie miał dużo więcej swobody. W dużym stopniu model może obejmować wiele obiektów danych.
Z drugiej strony model z mniej niż wymaganymi stopniami nie byłby w stanie pokryć wystarczającej liczby obiektów danych. Obie te sytuacje mogą prowadzić do zabrudzonych wyników, które nie są przydatne.
Poprzedni problem wyższego niż to konieczne stopnia polegał na overfittingu. Drugim problemem niższego niż wymagany stopień było niedostateczne wyposażenie. Jak widać, oba mogą być szkodliwe dla twojego modelu i zaszkodzić twoim wynikom.
Jeśli nie naprawisz tych problemów, Twój model nie zapewni dokładnych wyników i będziesz mieć bezużyteczne etykiety.

Teraz, gdy znamy ich podstawową koncepcję, omówmy szczegółowo każdy z nich:
Co to jest overfitting?
Kiedy algorytm uczenia maszynowego zaczyna rejestrować szum w danych, nazywamy to Overfitting. Mówiąc prościej, gdy algorytm zaczyna zwracać zbyt dużą uwagę na drobne szczegóły. W uczeniu maszynowym rezultatem jest przewidywanie prawdopodobnego wyniku, a ze względu na Overfitting może to znacznie utrudnić jego dokładność. Wiemy, że brzmi to dobrze, ale tak nie jest.
Poważnym przykładem nadmiernego dopasowania w uczeniu maszynowym może być wykres, w którym wszystkie kropki łączą się liniowo. Chcemy uchwycić trend, ale wykres tego nie robi.
Model, który nie jest w stanie dokonywać dobrych prognoz, ale uczy się wszystkiego, co możliwe z danych, jest bezużyteczny, ponieważ prowadzi do niedokładnych wyników.
Co zrobić, gdy zauważysz Overfitting?
Możemy rozwiązać ten problem, po prostu zmniejszając ilość danych używanych przez algorytm i nie przeciążając systemu. Wysoka wariancja (Overfitting) sprawia, że rzeczy są gorsze niż lepsze. Niektóre z konwencjonalnych technik stosowanych do rozwiązywania problemu overfittingu są następujące:
Zmniejszenie iteracji
Zmniejszając liczbę powtórzeń, które są wykonywane przed wystąpieniem Overfittingu, możemy temu zapobiec. Dokładną liczbę iteracji można znaleźć metodą prób i błędów.
Regularyzacja
Ogranicza oszacowania współczynników, które są bliskie 0. Prościej można powiedzieć, że mówi algorytmowi, aby używał łagodniejszego modelu zamiast sztywnego. Dowiedz się więcej o regularyzacji i unikaniu nadmiernego dopasowania.
Przycinanie (standard)
Najłatwiejszym i najczęstszym sposobem uniknięcia nadmiernego dopasowania jest przycinanie. Pozbywa się wszelkich węzłów, które niewiele dodają lub nie dodają żadnej mocy predykcyjnej.
Pięciokrotna weryfikacja krzyżowa
Korzystanie z walidacji krzyżowej jest jedną z mniej skomplikowanych metod sprawdzania overfittingu.
Co to jest niedopasowanie?
Jak sama nazwa wskazuje, Underfitting ma miejsce, gdy model nie jest wystarczająco dopasowany, aby dać wyniki. Niedopasowany model danych nie wie, jak kierować do wystarczającej liczby obiektów danych. W mniejszym stopniu na wykresie brakuje większości obecnych funkcji.
Innymi słowy, model jest „zbyt prosty”, aby generować wyniki, jeśli jest niedopasowany. Jednak rozwiązanie tego problemu jest znacznie wygodniejsze i nie wymaga tak dużego wysiłku, jak wcześniej Overfitting.
Co zrobić, gdy zauważysz niedopasowanie?
Jeśli Twój model jest niedopasowany, powinieneś nadać mu więcej funkcji. Dzięki większej liczbie funkcji będzie miał większą przestrzeń na hipotezy. Może wykorzystać tę przestrzeń do generowania dokładnych wyników. Wykrywanie niedopasowania jest wygodniejsze w porównaniu z nadmiernym dopasowaniem, dzięki czemu nie będziesz miał problemu ze zidentyfikowaniem tego błędu. Jednak w przypadku niedopasowanego modelu należy zwiększać tylko funkcje, a nie całe dane. Rozwinięcie danych powoduje w tym przypadku więcej błędów.

Przeczytaj: Ciekawe pomysły na projekty uczenia maszynowego
Uderz w słodkie miejsce
W uczeniu maszynowym chciałbyś, aby Twój model danych pozostawał między niedopasowaniem a nadmiernym dopasowaniem. Nie powinien obejmować ani zbyt wielu punktów danych, ani zbyt małej liczby. Gdy będziesz dalej szkolić swój model, możesz go dalej ulepszać i naprawiać błędy. Błędy Twojego modelu zaczną się zmniejszać wraz ze zbiorem uczącym i testowym.
Świetnym sposobem na trafienie w optymalny punkt między Overfitting i Underfitting jest zaprzestanie trenowania modelu, zanim jego błędy zaczną się zwiększać. Jest to ogólne rozwiązanie, z którego możesz skorzystać poza metodami, o których wspomnieliśmy wcześniej w tym artykule.
Wniosek
Każdy specjalista ds. danych staje przed problemem Overfittingu i Underfittingu. Trenowanie modelu danych nie jest łatwe, a zapoznanie się z nim wymaga dużo praktyki. Jednak z doświadczeniem zaczniesz wcześnie identyfikować problemy i całkowicie unikać przyczyn błędów.
Jeśli chcesz zostać ekspertem od uczenia maszynowego, musisz znać takie błędy. Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym i nauce o danych, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznych szkoleń, ponad 30 studiów przypadków i zadań , status absolwentów IIIT-B, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.