Budowanie modelu uczenia maszynowego to nie tylko dostarczanie danych, istnieje wiele niedociągnięć, które wpływają na dokładność każdego modelu. Przebudowanie jest jedną z takich wad uczenia maszynowego, która utrudnia dokładność, a także wydajność modelu. W tym artykule omówiono następujące tematy:
- Co to jest nadmierne dopasowanie w uczeniu maszynowym?
- Przykłady nadmiernego wyposażenia
- Sygnał kontra szum
- Co to jest niedopasowanie?
- Jak wykryć nadmierne dopasowanie?
- Jak uniknąć nadmiernego dopasowania w uczeniu maszynowym
- Co to jest dobroć dopasowania?
- Kompromis między odchyleniem a odchyleniem
Co to jest nadmierne dopasowanie w uczeniu maszynowym?
Mówi się, że model statystyczny jest nadmiernie wyposażony, gdy dostarczamy mu o wiele więcej danych niż to konieczne. Aby było to możliwe, wyobraź sobie, że próbujesz dopasować się do zbyt dużych ubrań.
Kiedy model mieści więcej danych, niż faktycznie potrzebuje, zaczyna wychwytywać zaszumione dane i niedokładne wartości w danych. W efekcie spada wydajność i dokładność modelu. Przyjrzyjmy się kilku przykładom nadmiernego dopasowania, aby zrozumieć, jak to się właściwie dzieje.
Przykłady nadmiernego wyposażenia
Przykład 1
Jeśli weźmiemy przykład simple regresja liniowa , trenowanie danych polega na znalezieniu minimalnego kosztu między najlepiej dopasowaną linią a punktami danych. Przechodzi przez szereg iteracji, aby znaleźć optymalne, najlepsze dopasowanie, minimalizując koszty. Tutaj pojawia się overfitting.
Linia widoczna na powyższym obrazku może dać bardzo efektywny wynik dla nowego punktu danych. W przypadku overfittingu, gdy uruchamiamy algorytm uczący na zbiorze danych, pozwalamy na redukcję kosztu z każdą liczbą iteracji.
Uruchamiam to zbyt długi będzie oznaczał obniżony koszt, ale będzie też pasował do zaszumionych danych ze zbioru danych. Wynik wyglądałby tak, jak na poniższym wykresie.
To może wyglądać na wydajne, ale tak naprawdę nie jest. Głównym celem algorytmu, takiego jak regresja liniowa polega na znalezieniu dominującego trendu i odpowiednim dopasowaniu punktów danych. Ale w tym przypadku linia pasuje do wszystkich punktów danych, co nie ma znaczenia dla wydajności modelu w przewidywaniu optymalnych wyników dla nowych punktów danych wejściowych.
Rozważmy teraz bardziej opisowy przykład za pomocą stwierdzenia problemu.
Przykład 2
Oświadczenie dotyczące problemu: Rozważmy, że chcemy przewidzieć, czy piłkarz wyląduje w klubie piłkarskim poziomu 1 na podstawie jego / jej aktualnych wyników w lidze poziomu 2.
Teraz wyobraź sobie, że trenujemy i dopasowujemy model z 10 000 takimi graczami z wynikami. Kiedy próbujemy przewidzieć wynik na oryginalnym zbiorze danych, powiedzmy, że mamy 99% dokładność. Ale dokładność na innym zestawie danych wynosi około 50 procent. Oznacza to, że model nie uogólnia dobrze naszych danych treningowych i niewidocznych danych.
Tak wygląda overfitting. Jest to bardzo powszechny problem w uczeniu maszynowym, a nawet nauce o danych. Teraz zrozummy sygnał i szum.
Sygnał kontra szum
W modelowaniu predykcyjnym sygnał odnosi się do prawdziwego podstawowego wzorca, który pomaga modelowi nauczyć się danych. Z drugiej strony, szum jest nieistotnym i przypadkowym danymi w zestawie danych. Aby zrozumieć pojęcie szumu i sygnału, weźmy przykład z życia wzięty.
Załóżmy, że chcemy modelować wiek a umiejętność czytania i pisania wśród dorosłych. Jeśli zbadamy bardzo dużą część populacji, znajdziemy wyraźny związek. To jest sygnał, podczas gdy szum zakłóca sygnał. Jeśli zrobimy to samo na lokalnej populacji, związek stanie się mętny. Miałoby na to wpływ wartości odstające i przypadkowość, np. Jedna osoba dorosła wcześnie poszła do szkoły lub kogoś dorosłego nie stać na edukację itp.
Mówiąc o szumie i sygnale w kontekście uczenia maszynowego, dobry algorytm uczenia maszynowego automatycznie oddziela sygnały od szumu. Jeśli algorytm jest zbyt złożony lub nieefektywny, może również nauczyć się szumu. Stąd nadmierne dopasowanie modelu. Rozumiemy również niedopasowanie w uczeniu maszynowym.
Co to jest niedopasowanie?
Aby uniknąć przeuczenia, mogliśmy przerwać trening na wcześniejszym etapie. Ale może to również prowadzić do tego, że model nie będzie w stanie wystarczająco się uczyć na podstawie danych treningowych, a uchwycenie dominującego trendu może być trudne. Nazywa się to niedopasowaniem. Rezultat jest taki sam jak nadmierne dopasowanie, nieefektywność w przewidywaniu wyników.
Teraz, gdy zrozumieliśmy, czym naprawdę jest niedopasowanie i nadmierne dopasowanie w uczeniu maszynowym, spróbujmy zrozumieć, w jaki sposób możemy wykryć nadmierne dopasowanie w uczeniu maszynowym.
Jak wykryć nadmierne dopasowanie?
Głównym wyzwaniem związanym z nadmiernym dopasowaniem jest oszacowanie dokładności działania naszego modelu przy użyciu nowych danych. Nie bylibyśmy w stanie oszacować dokładności, dopóki faktycznie go nie przetestujemy.
Aby rozwiązać ten problem, możemy podzielić początkowy zestaw danych na oddzielne zestawy danych uczących i testowych. Dzięki tej technice możemy faktycznie oszacować, jak dobrze nasz model będzie działał z nowymi danymi.
Zrozummy to na przykładzie, wyobraźmy sobie, że uzyskujemy dokładność 90+ procent na zbiorze uczącym i 50-procentową dokładność na zbiorze testowym. Wtedy automatycznie będzie to czerwona flaga dla modelu.
Inny sposób na wykrycie nadmiernego dopasowania to zacząć od uproszczonego modelu, który posłuży za punkt odniesienia.
Dzięki temu podejściu, jeśli spróbujesz bardziej złożonych algorytmów, będziesz w stanie zrozumieć, czy dodatkowa złożoność jest nawet warta zachodu dla modelu, czy nie. Jest również znany jako Test brzytwy Ockhama , zasadniczo wybiera uproszczony model w przypadku porównywalnej wydajności w przypadku dwóch modeli. Chociaż wykrywanie nadmiernego dopasowania jest dobrą praktyką,ale istnieje również kilka technik zapobiegania nadmiernemu dopasowaniu. Przyjrzyjmy się, jak możemy zapobiec nadmiernemu dopasowaniu w uczeniu maszynowym.
Jak uniknąć nadmiernego dopasowania w uczeniu maszynowym?
Istnieje kilka technik, które pozwalają uniknąć nadmiernego dopasowania w uczeniu maszynowym.
co to jest podciąg w java
1. Walidacja krzyżowa
Jedną z najpotężniejszych funkcji pozwalających uniknąć / zapobiec nadmiernemu dopasowaniu jest weryfikacja krzyżowa. Pomysł polega na tym, aby użyć początkowych danych szkoleniowych do wygenerowania podziałów minipociąg-test, a następnie użyć tych podziałów do dostrojenia modelu.
W standardowej walidacji k-krotnej dane są dzielone na k-podzbiory znane również jako fałdy. Następnie algorytm jest trenowany iteracyjnie na fałdach k-1, podczas gdy pozostałe fałdy są używane jako zestaw testowy, znany również jako fałd wstrzymania.
Walidacja krzyżowa pomaga nam dostroić hiperparametry tylko przy użyciu oryginalnego zestawu uczącego. Zasadniczo utrzymuje zestaw testowy oddzielnie jako prawdziwy niewidoczny zestaw danych do wyboru ostatecznego modelu. W związku z tym należy całkowicie unikać nadmiernego dopasowania.
2. Trening z większą ilością danych
Ta technika może nie działać za każdym razem, jak omówiliśmy również w powyższym przykładzie, w którym szkolenie z dużą ilością populacji pomaga modelowi. Zasadniczo pomaga modelowi w lepszej identyfikacji sygnału.
Ale w niektórych przypadkach zwiększone dane mogą również oznaczać zwiększenie szumu w modelu. Kiedy trenujemy model z większą ilością danych, musimy upewnić się, że dane są czyste i wolne od przypadkowości i niespójności.
3. Usuwanie funkcji
Chociaż niektóre algorytmy mają automatyczny wybór funkcji. W przypadku znacznej liczby tych, którzy nie mają wbudowanego wyboru funkcji, możemy ręcznie usunąć kilka nieistotnych funkcji z funkcji wejściowych, aby ulepszyć uogólnienie.
Jednym ze sposobów jest wyciągnięcie wniosku, jak dana cecha pasuje do modelu. Jest to dość podobne do debugowania kodu linia po linii.
W przypadku, gdy cecha nie jest w stanie wyjaśnić trafności w modelu, możemy po prostu zidentyfikować te cechy. Możemy nawet użyć kilku heurystyk wyboru funkcji jako dobrego punktu wyjścia.
4. Wczesne zatrzymanie
Kiedy model jest uczony, można faktycznie zmierzyć, jak dobrze model działa na podstawie każdej iteracji. Możemy to robić do momentu, gdy iteracje poprawią wydajność modelu. Następnie model przepełnia dane uczące, ponieważ generalizacja słabnie po każdej iteracji.
Zasadniczo wczesne zatrzymanie oznacza zatrzymanie procesu uczenia, zanim model przejdzie do punktu, w którym model zaczyna nadmiernie dopasowywać dane uczące. Ta technika jest najczęściej używana w głęboka nauka .
5. Regularyzacja
Zasadniczo oznacza to sztuczne wymuszanie prostszego modelu przy użyciu szerszego zakresu technik. Zależy to całkowicie od typu ucznia, z którego korzystamy. Na przykład możemy przyciąć plik , użyj dropout na sieć neuronowa lub dodaj parametr kary do funkcji kosztu w regresji.
Dość często regularyzacja jest również hiperparametrem. Oznacza to, że można go również dostroić poprzez weryfikację krzyżową.
6. Zespół
Ta technika zasadniczo łączy przewidywania z różnych modeli uczenia maszynowego. Poniżej wymieniono dwie najpopularniejsze metody tworzenia zespołów:
Pakowanie ma na celu zmniejszenie ryzyka przeuczenia modeli
Wzmacnianie ma na celu poprawę elastyczności predykcyjnej prostszych modeli
Mimo że obie są metodami zespołowymi, podejście całkowicie rozpoczyna się z przeciwnych kierunków. Pakowanie wykorzystuje złożone modele podstawowe i próbuje wygładzić ich przewidywania, podczas gdy wspomaganie wykorzystuje proste modele podstawowe i próbuje zwiększyć swoją zagregowaną złożoność.
Co to jest dobroć dopasowania?
W modelowaniu statystycznym dobroć dopasowania odnosi się do stopnia zgodności wyników lub przewidywanych wartości z wartościami obserwowanymi lub prawdziwymi.Model, który nauczył się szumu zamiast sygnału, jest nadmiernie wyposażony, ponieważ będzie pasował do zestawu danych uczących, ale będzie miał gorszą wydajność z nowym zestawem danych.
Kompromis między odchyleniem a odchyleniem
Zarówno wariancja, jak i odchylenie są formami błędu prognozowania . Kompromis między dużą zmiennością a wysokim odchyleniem jest bardzo ważną koncepcją w statystykach i uczeniu maszynowym. Jest to jedna koncepcja, która wpływa na wszystkie nadzorowane algorytmy uczenia maszynowego.
Kompromis odchylenia i wariancji ma bardzo istotny wpływ na określanie złożoności, niedopasowania i nadmiernego dopasowania dowolnego modelu uczenia maszynowego.
Stronniczość
To nic innego jak różnica między wartościami przewidywanymi a rzeczywistymi lub prawdziwymi wartościami w modelu. Modelowi nie zawsze łatwo jest uczyć się na podstawie raczej złożonych sygnałów.
Wyobraźmy sobie dopasowanie regresja liniowa do modelu z danymi nieliniowymi. Bez względu na to, jak skutecznie model uczy się obserwacji, nie będzie efektywnie modelował krzywych. Nazywa się to niedopasowaniem.
Zmienność
Odnosi się do wrażliwości modelu na określone zestawy danych uczących. Algorytm o wysokiej wariancji stworzy dziwaczny model, który drastycznie różni się od zbioru uczącego.
Wyobraź sobie algorytm, który pasuje do nieograniczonego i superelastycznego modelu, będzie również uczył się na podstawie szumu w zbiorze uczącym powodującego nadmierne dopasowanie.
Kompromis między odchyleniem a odchyleniem
Algorytm uczenia maszynowego nie może być postrzegany jako jednorazowa metoda uczenia modelu, jest to raczej powtarzalny proces.
Algorytmy o niskiej wariancji i wysokim obciążeniu są mniej złożone i mają prostą i sztywną strukturę.
Będą trenować modele, które są spójne, ale średnio niedokładne.
Obejmują one algorytmy liniowe lub parametryczne, takie jak regresja, itp.
Algorytmy o wysokiej wariancji i niskim odchyleniu są bardziej złożone i mają elastyczną strukturę.
Będą trenować modele, które są niespójne, ale średnio dokładne.
Obejmują one algorytmy nieliniowe lub nieparametryczne, takie jak , itp.
To prowadzi nas do końca tego artykułu, w którym nauczyliśmy się nadmiernego dopasowania w uczeniu maszynowym i różnych technik jego unikania. Mam nadzieję, że wszystko, co zostało Ci udostępnione w tym samouczku, jest dla Ciebie jasne.
Jeśli uważasz, że ten artykuł o „Overfitting In Machine Learning” jest odpowiedni, zapoznaj się z zaufana firma zajmująca się edukacją online z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie.
Jesteśmy tutaj, aby pomóc Ci na każdym kroku w Twojej podróży i opracować program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą być . Kurs ma na celu zapewnienie przewagi w programowaniu w Pythonie i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji Pythona, a także różnych lubić , itp.
Jeśli napotkasz jakieś pytania, nie krępuj się zadawać je w sekcji komentarzy w „Overfitting in Machine Learning”, a nasz zespół z przyjemnością odpowie.