Jakie są zalety metod zespołowych w uczeniu maszynowym?
Zespoły są modelami predykcyjnymi, które łączą predykcje z dwóch lub więcej innych modeli.
Metody uczenia zespołowego są popularne i są techniką „go-to”, gdy najlepsza wydajność w projekcie modelowania predykcyjnego jest najważniejszym wynikiem.
Niemniej jednak, nie zawsze są one najbardziej odpowiednią techniką do wykorzystania, a początkujący w dziedzinie stosowanego uczenia maszynowego oczekują, że zespoły lub konkretna metoda zespołu są zawsze najlepszą metodą do wykorzystania.
Zespoły oferują dwie konkretne korzyści w projekcie modelowania predykcyjnego i ważne jest, aby wiedzieć, jakie są te korzyści i jak je zmierzyć, aby upewnić się, że użycie zespołu jest właściwą decyzją w Twoim projekcie.
In this tutorial, you will discover the benefits of using ensemble methods for machine learning.
After reading this tutorial, you will know:
- A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
- A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
- The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.
Let’s get started.
Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.
Tutorial Overview
This tutorial is divided into four parts; they are:
- Używanie zespołów do poprawy odporności
- Bias, Variance, and Ensembles
- Używanie zespołów do poprawy wydajności
Uczenie zespołowe
Zespół jest modelem uczenia maszynowego, który łączy przewidywania z dwóch lub więcej modeli.
Modele wchodzące w skład zespołu, zwane członkami zespołu, mogą być tego samego typu lub różnych typów i mogą być trenowane na tych samych danych treningowych lub nie.
Prognozy dokonane przez członków zespołu mogą być łączone przy użyciu statystyk, takich jak tryb lub średnia, lub przy użyciu bardziej zaawansowanych metod, które uczą się, jak bardzo ufać każdemu członkowi i w jakich warunkach.
Badania nad metodami zespołowymi nabrały tempa w latach 90-tych, kiedy to opublikowano prace na temat najpopularniejszych i najszerzej stosowanych metod, takich jak core bagging, boosting i stacking.
Pod koniec lat 2000-tych, adopcja zespołów nabrała tempa dzięki ich ogromnemu sukcesowi w konkursach uczenia maszynowego, takich jak nagroda Netflixa czy późniejsze konkursy na Kaggle.
W ciągu ostatnich kilku dekad, systemy wielu klasyfikatorów, zwane również systemami ensemble, cieszyły się rosnącym zainteresowaniem w społeczności inteligencji obliczeniowej i uczenia maszynowego.
– Strona 1, Ensemble Machine Learning, 2012.
Metody ensemble znacznie zwiększają koszt i złożoność obliczeniową. Ten wzrost pochodzi z wiedzy specjalistycznej i czasu wymaganego do szkolenia i utrzymania wielu modeli, a nie pojedynczego modelu. To zmusza do zadania pytania:
- Dlaczego powinniśmy rozważyć użycie zespołu?
Istnieją dwa główne powody, dla których warto użyć zespołu zamiast pojedynczego modelu, i są one powiązane; są to:
- Wydajność: Zespół może dokonać lepszych prognoz i osiągnąć lepszą wydajność niż jakikolwiek pojedynczy model przyczyniający się.
- Solidność: Zespół zmniejsza rozrzut lub rozproszenie przewidywań i wydajności modelu.
Zespoły są wykorzystywane do osiągnięcia lepszej wydajności predykcyjnej na problem modelowania predykcyjnego niż pojedynczy model predykcyjny. Sposób, w jaki jest to osiągane, można rozumieć jako redukcję przez model składowej wariancji błędu predykcji poprzez dodanie błędu systematycznego (tj. w kontekście kompromisu błąd systematyczny-wariancja).
Oryginalnie opracowany w celu redukcji wariancji-tym samym poprawy dokładności automatycznego systemu podejmowania decyzji …
– Strona 1, Ensemble Machine Learning, 2012.
Jest jeszcze jedna ważna i mniej dyskutowana korzyść z metod zespołowych – zwiększona odporność lub niezawodność w średniej wydajności modelu.
Oba te aspekty są ważne w projekcie uczenia maszynowego i czasami możemy preferować jedną lub obie właściwości modelu.
Przyjrzyjrzyjmy się bliżej tym dwóm właściwościom, aby lepiej zrozumieć korzyści płynące z zastosowania uczenia zespołowego w projekcie.
Użycie zespołów w celu poprawy solidności
W projekcie modelowania predykcyjnego często oceniamy wiele modeli lub potoków modelowania i wybieramy jeden, który działa dobrze lub najlepiej jako model końcowy.
Algorytm lub potok modelowania jest następnie dopasowywany do wszystkich dostępnych danych i wykorzystywany do tworzenia prognoz na nowych danych.
Mamy pojęcie o tym, jak dobrze model będzie działał średnio z naszego zestawu testowego, zwykle oszacowanego przy użyciu powtarzanej k-krotnej walidacji krzyżowej jako złotego standardu. Problem w tym, że średnia wydajność może nie być wystarczająca.
Średnia dokładność lub błąd modelu jest podsumowaniem oczekiwanej wydajności, podczas gdy w rzeczywistości niektóre modele działały lepiej, a niektóre gorzej na różnych podzbiorach danych.
Odchylenie standardowe jest średnią różnicą między obserwacją a średnią i podsumowuje rozproszenie lub rozpiętość danych. W przypadku miary dokładności lub błędu modelu, może ono dać pojęcie o rozrzucie zachowania modelu.
Patrząc na minimalne i maksymalne wyniki wydajności modelu, uzyskamy pojęcie o najgorszej i najlepszej wydajności, jakiej można oczekiwać od modelu, co może być nie do przyjęcia dla danej aplikacji.
Najprostszym zespołem jest wielokrotne dopasowanie modelu do zbiorów danych treningowych i połączenie przewidywań za pomocą statystyki podsumowującej, takiej jak średnia dla regresji lub tryb dla klasyfikacji. Co ważne, każdy model musi być nieco inny ze względu na algorytm uczenia stochastycznego, różnice w składzie zbioru danych treningowych lub różnice w samym modelu.
Zmniejszy to rozrzut w przewidywaniach dokonywanych przez model. Średnia wydajność będzie prawdopodobnie mniej więcej taka sama, chociaż najgorszy i najlepszy przypadek zostanie zbliżony do średniej wydajności.
W efekcie, wygładza to oczekiwaną wydajność modelu.
Możemy to określić jako „solidność” w oczekiwanej wydajności modelu i jest minimalną korzyścią z używania metody ensemble.
Zespół może lub nie może poprawić wydajność modelowania w stosunku do każdego pojedynczego członka, omówionego dalej, ale co najmniej powinien zmniejszyć rozrzut w średniej wydajności modelu.
Więcej na ten temat znajdziesz w poradniku:
- Jak zmniejszyć wariancję w końcowym modelu uczenia maszynowego
Bias, wariancja i zespoły
Modele uczenia maszynowego dla klasyfikacji i regresji uczą się funkcji odwzorowania od danych wejściowych do danych wyjściowych.
To odwzorowanie jest uczone na podstawie przykładów z dziedziny problemowej, zbioru danych treningowych, i jest oceniane na danych nieużywanych podczas treningu, zbioru danych testowych.
Błędy popełniane przez model uczenia maszynowego są często opisywane za pomocą dwóch właściwości: skośności i wariancji.
Skośność jest miarą tego, jak blisko model może uchwycić funkcję odwzorowania pomiędzy wejściami i wyjściami. Obejmuje ona sztywność modelu: siłę założeń modelu dotyczących funkcjonalnej formy odwzorowania pomiędzy danymi wejściowymi i wyjściowymi.
Wariantyzacja modelu jest miarą tego, jak bardzo zmienia się wydajność modelu, gdy jest on dopasowywany do różnych danych treningowych. Obejmuje ona wpływ specyfiki danych na model.
Wariancja odnosi się do kwoty, o jaką zmieniłaby się, gdybyśmy oszacowali ją przy użyciu innego zestawu danych szkoleniowych.
– Strona 34, An Introduction to Statistical Learning with Applications in R, 2014.
Skośność i wariancja wyników modelu są ze sobą powiązane.
Idealnie, wolelibyśmy model o niskiej skośności i niskiej wariancji, choć w praktyce jest to bardzo trudne. W rzeczywistości, można to opisać jako cel uczenia maszynowego dla danego problemu modelowania predykcyjnego.
Zmniejszenie błędu systematycznego można często łatwo osiągnąć poprzez zwiększenie wariancji. I odwrotnie, zmniejszenie wariancji może być łatwo osiągnięte przez zwiększenie bias.
To jest określane jako trade-off, ponieważ łatwo jest uzyskać metodę z ekstremalnie niską bias, ale wysoką wariancją lub metodę z bardzo niską wariancją, ale wysoką bias …
– Strona 36, An Introduction to Statistical Learning with Applications in R, 2014.
Niektóre modele naturalnie mają wysoki bias lub wysoką wariancję, które często można rozluźnić lub zwiększyć za pomocą hiperparametrów, które zmieniają zachowanie uczące algorytmu.
Zespoły zapewniają sposób na zmniejszenie wariancji przewidywań; jest to ilość błędów w dokonanych przewidywaniach, które można przypisać „wariancji.”
Nie zawsze tak jest, ale kiedy tak jest, to zmniejszenie wariancji prowadzi z kolei do poprawy wydajności przewidywania.
Dowody empiryczne i teoretyczne pokazują, że niektóre techniki ensemble (takie jak bagging) działają jako mechanizm redukcji wariancji, tj, redukują składową wariancji błędu. Co więcej, wyniki empiryczne sugerują, że inne techniki zespołowe (takie jak AdaBoost) redukują zarówno składową błędu, jak i wariancję.
– Strona 39, Pattern Classification Using Ensemble Methods, 2010.
Używanie zespołów do redukcji właściwości wariancji błędów predykcji prowadzi do kluczowej korzyści z używania zespołów w pierwszej kolejności: poprawy wydajności predykcji.
Użycie zespołów w celu poprawy wyników
Zmniejszenie elementu wariancji błędu predykcji poprawia wyniki predykcji.
Wyraźnie używamy uczenia zespołowego w celu uzyskania lepszych wyników predykcji, takich jak niższy błąd regresji lub wysoka dokładność klasyfikacji.
… istnieje sposób na poprawienie dokładności modelu, który jest łatwiejszy i potężniejszy niż rozsądny wybór algorytmów: można zebrać modele w zespoły.
– Strona 2, Ensemble Methods in Data Mining, 2010.
Jest to podstawowe zastosowanie metod uczenia zespołowego i korzyść wykazana poprzez wykorzystanie zespołów przez większość zwycięzców konkursów uczenia maszynowego, takich jak nagroda Netflixa i konkursy na Kaggle.
W konkursie o nagrodę Netflixa, który trwał dwa lata i w którym pierwszy zespół, który zgłosił model poprawiający o 10% wewnętrzny system rekomendacji Netflixa, wygrywał 1 000 000 dolarów. Ostateczna przewaga została uzyskana poprzez zważenie wkładu modeli nawet 30 konkurentów.
– Strona 8, Ensemble Methods in Data Mining, 2010.
Korzyść ta została również wykazana w konkursach akademickich, takich jak najlepsze rozwiązania dla słynnego zbioru danych ImageNet w dziedzinie widzenia komputerowego.
Zespół tych sieci resztkowych osiąga 3,57% błędu na zbiorze testowym ImageNet. Wynik ten zdobył 1. miejsce na zadaniu klasyfikacyjnym ILSVRC 2015.
– Deep Residual Learning for Image Recognition, 2015.
Przy zastosowaniu w ten sposób, zespół powinien być przyjęty tylko wtedy, gdy osiąga lepsze wyniki średnio niż każdy wnoszący członek zespołu. Jeśli tak nie jest, to członek zespołu, który ma lepsze wyniki, powinien być użyty zamiast niego.
Rozważmy rozkład oczekiwanych wyników obliczonych przez model na uprzęży testowej, takiej jak powtarzana k-krotna walidacja krzyżowa, tak jak zrobiliśmy to powyżej, gdy rozważaliśmy „solidność” oferowaną przez zespół. Zespół, który zmniejsza wariancję błędu, w efekcie przesunie rozkład, a nie tylko zmniejszy rozpiętość rozkładu.
To może skutkować lepszą średnią wydajnością w porównaniu do pojedynczego modelu.
Nie zawsze tak jest, a posiadanie takich oczekiwań jest częstym błędem popełnianym przez początkujących.
Możliwe jest, a nawet powszechne, aby wydajność zespołu nie była lepsza niż najlepiej działający członek zespołu. To może się zdarzyć, jeśli zespół ma jeden top-performing model i inni członkowie nie oferują żadnych korzyści lub zespół nie jest w stanie wykorzystać ich wkład skutecznie.
Jest to również możliwe dla zespołu do wykonania gorzej niż najlepiej wykonujący członek zespołu. To również jest powszechne, co zazwyczaj wiąże się z jednym najlepszym modelem, którego prognozy są pogarszane przez jeden lub więcej słabo działających innych modeli, a zespół nie jest w stanie wykorzystać ich wkład skutecznie.
Jako takie, ważne jest, aby przetestować zestaw metod zespołu i dostroić ich zachowanie, tak jak robimy to dla każdego indywidualnego modelu uczenia maszynowego.
Dalsza lektura
Ta sekcja zawiera więcej zasobów na ten temat, jeśli chcesz pogłębić swoją wiedzę.
Related Tutorials
- How to Reduce Variance in a Final Machine Learning Model
- How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance
Books
- Pattern Classification Using Ensemble Methods, 2010.
- Ensemble Methods, 2012.
- Ensemble Machine Learning, 2012.
- Ensemble Methods in Data Mining, 2010.
Articles
- Ensemble learning, Wikipedia.
- Ensemble learning, Scholarpedia.
Summary
In this post, you discovered the benefits of using ensemble methods for machine learning.
Szczegółowo, dowiedziałeś się, że:
- Minimalną korzyścią z używania zespołów jest zmniejszenie rozrzutu w średniej umiejętności modelu predykcyjnego.
- Kluczową korzyścią z używania zespołów jest poprawa średniej wydajności predykcji dla każdego członka zespołu.
- Mechanizmem poprawy wydajności z zespołami jest często redukcja składowej wariancji błędów predykcji popełnianych przez modele uczestniczące.
.