Ensemble learning. Czym jest i na czym polega?
Ensemble learning, czyli metody grupowania to technika uczenia maszynowego, która łączy kilka podstawowych modeli w celu stworzenia jednego optymalnego modelu predykcyjnego. W dużej mierze wykorzystuje się drzewa decyzyjne do określenia definicji i pokazania w praktyce metod zespołowych (ensemble learningu). Drzewo decyzyjne określa wartość predykcyjną na podstawie serii pytań i warunków. Proste drzewo decyzyjne określa dwie decyzje. Drzewo rozważa wszystkie czynniki i podejmuje decyzję albo zadaje kolejne pytanie, dotyczące każdego z nich.
Piotr Chmiel. SEO specjalista i web analityk w Greenlogic.. Z dnia na dzień pogłębia wiedzę z obszaru IT tj. : tworzenie stron, WordPress, Machine Learning, SEO, Big Data itp. itd. Prywatnie amator koszykarz, basista, szachista i kucharz.
Podczas tworzenia drzew decyzyjnych należy zadać takie pytania jak:
- Na jakich funkcjach podejmujemy decyzje?
- Jaki jest próg zaklasyfikowania każdego pytania w odpowiedzi „tak” lub „nie”?
Metody grupowania pozwalają nam wziąć pod uwagę próbkę drzew decyzyjnych i obliczyć, które funkcje zastosować, lub zadać pytania, które należy postawić przy każdym podziale, i dokonać ostatecznej predykcji na podstawie skumulowanych wyników próbkowanych drzew decyzyjnych.
Spis treści
Powszechnie stosowane algorytmy uczenia zespołu
Metody grupowania można podzielić na dwie grupy:
- sekwencyjne metody zespołowe, w których zbiory uczące się są generowane sekwencyjnie. Podstawową motywacją metod sekwencyjnych jest wykorzystanie zależności między podstawowymi „uczniami”. Ogólna wydajność może zostać zwiększona poprzez ważenie wcześniej źle oznaczonych przykładów z wyższą wagą.
- równoległe metody zespołowe, w których zbiory uczące się podstawowe są generowane równolegle. Podstawową motywacją metod równoległych jest wykorzystywanie niezależności pomiędzy „uczniami” podstawowymi, ponieważ błąd można radykalnie zmniejszyć przez uśrednienie.
Większość metod zespołowych wykorzystuje jeden podstawowy algorytm uczenia się do wytwarzania homogenicznych podstawowych uczniów, tj. uczących się tego samego typu, prowadzących do jednorodnych zespołów.
Istnieją również pewne metody, które wykorzystują heterogenicznych uczniów, tj. uczniów różnych typów, prowadzących do heterogenicznych zespołów. Aby metody zestawiania były dokładniejsze niż któregokolwiek z jego indywidualnych członków, podstawowi uczniowie muszą być najbardziej dokładni i różnorodni, jak to tylko możliwe.
Głosowanie i uśrednianie
Głosowanie i uśrednianie to dwie najprostsze metody zespołowe. Obie są łatwe do zrozumienia i wdrożenia. Głosowanie służy do klasyfikacji, a uśrednianie służy do regresji.
W obu metodach pierwszym krokiem jest stworzenie wielu modeli klasyfikacji lub regresji przy użyciu zbioru danych treningowych. Każdy model podstawowy może zostać utworzony przy użyciu różnych podziałów tego samego zestawu danych treningowych i tego samego algorytmu lub przy użyciu tego samego zestawu danych z różnymi algorytmami lub dowolnej innej metody.
Metody, te można podzielić na:
- Głosowanie większościowe
Każdy model dokonuje prognozy (głosów) dla każdej instancji testowej, a ostateczna prognoza wyników to taka, która otrzymuje więcej niż połowę głosów. Jeśli żadna z prognoz nie uzyska więcej niż połowy głosów, możemy powiedzieć, że metoda zespołowa nie mogła uzyskać stabilnej prognozy dla tej instancji. Chociaż jest to powszechnie stosowana technika, możesz wypróbować prognozę z największą ilością głosów (nawet jeśli ma mniej niż połowę głosów) jako ostateczną prognozę.
- Ważone głosowanie
W przeciwieństwie do głosowania większością, gdzie każdy model ma te same prawa, możemy zwiększyć znaczenie jednego lub więcej modeli. W ważonym głosowaniu wielokrotnie liczymy prognozy lepszych modeli. Znalezienie odpowiedniego zestawu wag należy do Ciebie.
- Proste uśrednianie
W prostym sposobie uśredniania dla każdego wystąpienia zestawu danych testowych obliczane są średnie prognozy. Ta metoda często zmniejsza nadmierność i tworzy łagodniejszy model regresji.
- Ważone uśrednianie
Ważone uśrednianie jest nieznacznie zmodyfikowaną wersją prostego uśredniania, gdzie prognozy każdego modelu są mnożone przez wagę, a następnie obliczana jest ich średnia.
Bagging
Bagging, który oznacza agregację bootstrap (Bootstrap aggregating), jest jednym z najwcześniejszych i najprostszych algorytmów intuicyjnych jak i opartych na zespołach z zaskakująco dobrą wydajnością. Różnorodność klasyfikatorów uzyskuje się za pomocą replik danych treningowych bootstrap. Oznacza to, że różne podzbiory danych treningowych są losowo rysowane – z wymianą – z całego zbioru danych treningowych.
Każdy podzbiór danych treningowych służy do szkolenia innego klasyfikatora tego samego typu. Poszczególne klasyfikatory są następnie łączone, podejmując decyzję zwykłą większością głosów. Dla każdej instancji klasa wybrana przez większość klasyfikatorów jest decyzją zespołu. Ponieważ zbiory danych szkoleniowych mogą się znacząco nakładać, można zastosować dodatkowe środki w celu zwiększenia różnorodności, takie jak wykorzystanie podzbioru danych szkoleniowych do szkolenia każdego klasyfikatora lub użycie względnie słabych klasyfikatorów.
Losowe lasy
Zbiór drzew decyzyjnych to losowy las. „Losowe lasy” wykonują wewnętrzny bagging. Tworzą one kilka drzew, a czasami tysiące. Następnie oblicza najlepszy możliwy model dla danego zestawu danych. Zamiast rozpatrywać wszystkie funkcje podczas dzielenia węzła, algorytm „losowy las” wybiera najlepszą funkcję spośród podzbioru wszystkich funkcji. To powoduje większe odchylenie w przypadku mniejszej wariancji, co daje znacznie lepszy model.
Wzmocnienie
Podobnie jak w przypadku baggingu, wzmocnienie tworzy również grupę klasyfikatorów poprzez transformację sygnału danych, które są następnie łączone przez głosowanie większościowe. Jednak w fazie zwiększania, resampling jest strategicznie dostosowywany w celu dostarczenia najbardziej pouczających danych treningowych dla każdego kolejnego klasyfikatora. W istocie, każda iteracja wzmocnienia tworzy trzy słabe klasyfikatory.
Stacking
Zespół klasyfikatorów jest najpierw szkolony przy użyciu próbek danych treningowych, w których pobierane są dane startowe. Podstawową ideą jest nauczenie się, czy dane treningowe zostały prawidłowo wyszkolone. Na przykład, jeśli dany klasyfikator niepoprawnie nauczył się określonego regionu przestrzeni cech, a zatem konsekwentnie błędnie klasyfikuje instancje pochodzące z tego regionu, wówczas następny klasyfikator może być w stanie wyszkolić się tego zachowania, a wraz z wyuczonymi zachowaniami innych klasyfikatorów, może skorygować takie niewłaściwe szkolenie.
Uczenie przyrostowe
Uczenie przyrostowe, czyli incremental learning odnosi się do zdolności algorytmu uczenia się na podstawie nowych danych, które mogą stać się dostępne po tym, jak klasyfikator (lub model) został już wygenerowany z wcześniej dostępnego zbioru danych. Mówi się, że algorytm jest przyrostowym algorytmem uczenia się, jeśli dla sekwencji danych treningowych (lub instancji) generuje sekwencję hipotez, w których bieżąca hipoteza opisuje wszystkie dane, które do tej pory obserwowano, ale zależy tylko od wcześniejszych hipotez oraz aktualnych danych treningowych. W związku z tym algorytm przyrostowego uczenia się musi uczyć się nowych informacji i zachować wcześniej zdobytą wiedzę, nie mając dostępu do wcześniej widzianych danych.
Błąd podczas korygowania kodów wyjściowych
Błędy w korygowaniu kodów wyjściowych (w skr. ECOC z ang. Error correcting output codes) są powszechnie używane w IT do odwracania bitów powodowanych przez głośne kanały komunikacyjne lub uczenia maszynowego w celu konwersji binarnych klasyfikatorów. Na przykład maszyny wektorowe (do klasyfikatorów wielorakich) poprzez dekomponowanie problemu wielorakiego na kilka problemów dwóch klas.
Wnioski
Celem każdego problemu związanego z uczeniem maszynowym jest znalezienie odpowiedniego modelu, który najlepiej będzie przewidywał nasze pożądane wyniki. Zamiast tworzyć jeden model i mieć nadzieję, że jest on najlepszym czy najdokładniejszym predyktorem, jaki możemy stworzyć, metody grupowania uwzględniają niezliczoną liczbę opcji i pozwalają na średnią tych właśnie modeli do wyprodukowania jednego ostatecznego. Ważne jest, aby pamiętać, że drzewa decyzyjne nie są jedyną formą metod grupowania, jednak najbardziej popularną i istotną w data science.
Oprócz wymienionych metod, powszechne jest używanie zestawów do głębokiego uczenia poprzez szkolenie różnorodnych i dokładnych klasyfikatorów. Różnorodność można osiągnąć dzięki zmianom w architekturach, ustawieniach parametrów i technikach szkoleniowych.
Metody grupowania odniosły duży sukces w wyznaczaniu rekordowej wydajności na trudnych zbiorach danych i należą do grona zwycięzców konkursów Kaggle’a.
Metody zespołowe mogą nam pomóc w uczeniu maszynowym poprzez opracowanie wyrafinowanych algorytmów i uzyskiwanie wyników z dużą dokładnością. Często jednak nie jest to preferowane w branżach, w których ważniejsza jest możliwość interpretacji. Niemniej skuteczność tych metod jest niezaprzeczalna, a ich plusy, odpowiednio zastosowane mogą dać widoczne efekty. Przykładowo, w takich dziedzinach jak opieka zdrowotna, nawet najmniejsza poprawa w dokładności algorytmów uczenia maszynowego może być naprawdę wartościowa.
Artykuł został pierwotnie opublikowany na stronie greenlogic.pl. Zdjęcie główne artykułu pochodzi z pexels.com.