Ensemble Learning Methods for Deep Learning Neural Networks

Tweet Share Share

Last Updated on August 6, 2019

How to Improve Performance By Combining Predictions From Multiple Models.

Sieci neuronowe głębokiego uczenia są metodami nieliniowymi.

Oferują one zwiększoną elastyczność i mogą skalować się proporcjonalnie do ilości dostępnych danych treningowych. Wadą tej elastyczności jest to, że uczą się one poprzez stochastyczny algorytm szkolenia, co oznacza, że są wrażliwe na specyfikę danych szkoleniowych i mogą znaleźć inny zestaw wag za każdym razem, gdy są szkolone, co z kolei daje różne przewidywania.

Ogólnie, jest to określane jako sieci neuronowe o wysokiej wariancji i może być frustrujące podczas próby opracowania ostatecznego modelu do wykorzystania do tworzenia prognoz.

Skutecznym podejściem do zmniejszenia wariancji modeli sieci neuronowych jest trenowanie wielu modeli zamiast pojedynczego modelu i łączenie przewidywań z tych modeli. Nazywa się to uczeniem zespołowym i nie tylko zmniejsza wariancję przewidywań, ale także może prowadzić do przewidywań, które są lepsze niż jakikolwiek pojedynczy model.

W tym poście poznasz metody głębokiego uczenia sieci neuronowych w celu zmniejszenia wariancji i poprawy wydajności przewidywań.

Po przeczytaniu tego postu, będziesz wiedział:

  • Modele sieci neuronowych są nieliniowe i mają wysoką wariancję, co może być frustrujące podczas przygotowywania ostatecznego modelu do tworzenia przewidywań.
  • Uczenie zespołowe łączy przewidywania z wielu modeli sieci neuronowych, aby zmniejszyć wariancję przewidywań i zmniejszyć błąd generalizacji.
  • Techniki uczenia zespołowego można pogrupować według elementu, który jest zróżnicowany, takiego jak dane treningowe, model i sposób łączenia przewidywań.

Zacznij swój projekt z moją nową książką Better Deep Learning, zawierającą samouczki krok po kroku i pliki kodu źródłowego Pythona dla wszystkich przykładów.

Zacznijmy.

Ensemble Methods to Reduce Variance and Improve Performance of Deep Learning Neural Networks

Ensemble Methods to Reduce Variance and Improve Performance of Deep Learning Neural Networks
Photo by University of San Francisco’s Performing Arts, some rights reserved.

Overview

This tutorial is divided into four parts; they are:

  1. High Variance of Neural Network Models
  2. Reduce Variance Using an Ensemble of Models
  3. How to Ensemble Neural Network Models
  4. Summary of Ensemble Techniques

High Variance of Neural Network Models

Training deep neural networks can be very computationally expensive.

Very deep networks trained on millions of examples may take days, weeks, and sometimes months to train.

Podstawowym modelem firmy Google była głęboka konwolutalna sieć neuronowa, która była trenowana przez około sześć miesięcy przy użyciu asynchronicznego stochastycznego zstępowania gradientowego na dużej liczbie rdzeni.

– Distilling the Knowledge in a Neural Network, 2015.

Po zainwestowaniu tak dużej ilości czasu i zasobów, nie ma gwarancji, że ostateczny model będzie miał niski błąd generalizacji, dobrze radząc sobie na przykładach nie widzianych podczas treningu.

… trenować wiele różnych sieci kandydujących, a następnie wybrać najlepszą, a resztę odrzucić. Takie podejście ma dwie wady. Po pierwsze, cały wysiłek włożony w wytrenowanie pozostałych sieci zostaje zmarnowany. Po drugie, sieć, która miała najlepsze wyniki na zbiorze walidacyjnym, może nie być tą z najlepszymi wynikami na nowych danych testowych.

– Strony 364-365, Neural Networks for Pattern Recognition, 1995.

Modele sieci neuronowych są metodą nieliniową. Oznacza to, że mogą one uczyć się złożonych nieliniowych zależności w danych. Wadą tej elastyczności jest to, że są one wrażliwe na warunki początkowe, zarówno pod względem początkowych losowych wag, jak i pod względem szumu statystycznego w zestawie danych treningowych.

Ta stochastyczna natura algorytmu uczenia oznacza, że za każdym razem, gdy model sieci neuronowej jest trenowany, może on nauczyć się nieco (lub dramatycznie) innej wersji funkcji odwzorowania od danych wejściowych do danych wyjściowych, która z kolei będzie miała inną wydajność na zbiorach danych treningowych i zatrzymanych.

Jako taka, możemy myśleć o sieci neuronowej jako o metodzie, która ma niską skośność i wysoką wariancję. Nawet po przeszkoleniu na dużych zbiorach danych, aby zaspokoić wysoką wariancję, posiadanie jakiejkolwiek wariancji w ostatecznym modelu, który ma być używany do tworzenia prognoz, może być frustrujące.

Want Better Results with Deep Learning?

Take my free 7-day email crash course now (with sample code).

Kliknij, aby się zapisać, a także uzyskać bezpłatny PDF Ebook wersja kursu.

Download Your FREE Mini-Course

Reduce Variance Using an Ensemble of Models

Rozwiązaniem problemu wysokiej wariancji sieci neuronowych jest trenowanie wielu modeli i łączenie ich przewidywań.

Pomysł polega na łączeniu przewidywań z wielu dobrych, ale różnych modeli.

Dobry model ma umiejętności, co oznacza, że jego przewidywania są lepsze niż losowy przypadek. Co ważne, modele muszą być dobre na różne sposoby; muszą popełniać różne błędy predykcji.

Powodem, dla którego uśrednianie modeli działa jest to, że różne modele zazwyczaj nie popełniają wszystkich tych samych błędów na zbiorze testowym.

– Strona 256, Deep Learning, 2016.

Połączenie przewidywań z wielu sieci neuronowych dodaje stronniczość, która z kolei przeciwdziała wariancji pojedynczego wyszkolonego modelu sieci neuronowej. Rezultatem są przewidywania, które są mniej wrażliwe na specyfikę danych szkoleniowych, wybór schematu szkolenia i serendipity pojedynczego przebiegu szkolenia.

Oprócz zmniejszenia wariancji w przewidywaniach, zespół może również skutkować lepszymi przewidywaniami niż jakikolwiek pojedynczy najlepszy model.

… wydajność komitetu może być lepsza niż wydajność najlepszej pojedynczej sieci używanej w izolacji.

– Strona 365, Neural Networks for Pattern Recognition, 1995.

Podejście to należy do ogólnej klasy metod zwanych „ensemble learning”, które opisują metody próbujące jak najlepiej wykorzystać przewidywania z wielu modeli przygotowanych dla tego samego problemu.

Ogólnie, uczenie zespołowe polega na trenowaniu więcej niż jednej sieci na tym samym zbiorze danych, a następnie użyciu każdego z wytrenowanych modeli do dokonania przewidywań przed połączeniem przewidywań w jakiś sposób, aby uzyskać ostateczny wynik lub przewidywanie.

W rzeczywistości, łączenie modeli jest standardowym podejściem w stosowanym uczeniu maszynowym w celu zapewnienia, że najbardziej stabilne i najlepsze możliwe przewidywania są dokonywane.

Na przykład Alex Krizhevsky, et al. w swojej słynnej pracy z 2012 r. zatytułowanej „Imagenet classification with deep convolutional neural networks”, która wprowadziła bardzo głębokie sieci neuronowe convolutional do klasyfikacji zdjęć (tj. AlexNet), wykorzystał uśrednianie modeli w wielu dobrze działających modelach CNN, aby osiągnąć wyniki state-of-the-art w tym czasie. Wydajność jednego modelu została porównana z przewidywaniami zespołu uśrednionymi dla dwóch, pięciu i siedmiu różnych modeli.

Uśrednienie przewidywań pięciu podobnych sieci CNN daje poziom błędu 16,4%. Uśrednienie przewidywań dwóch CNN, które były wstępnie wytrenowane z wyżej wymienionymi pięcioma CNN, daje stopę błędu 15,3%.

Ensembling jest również podejściem stosowanym przez zwycięzców w konkursach uczenia maszynowego.

Inną potężną techniką uzyskiwania najlepszych możliwych wyników w zadaniu jest ensembling modeli. Jeśli przyjrzysz się konkursom uczenia maszynowego, w szczególności na Kaggle, zobaczysz, że zwycięzcy używają bardzo dużych zespołów modeli, które nieuchronnie pokonują każdy pojedynczy model, niezależnie od tego, jak dobry.

– Strona 264, Deep Learning With Python, 2017.

How to Ensemble Neural Network Models

Perhaps the oldest and still most commonly used ensembling approach for neural networks is called a „committee of networks.”

Zbiór sieci o tej samej konfiguracji i różnych początkowych losowych wag jest trenowany na tym samym zbiorze danych. Każdy model jest następnie używany do tworzenia przewidywań, a rzeczywiste przewidywanie jest obliczane jako średnia przewidywań.

Liczba modeli w zespole jest często utrzymywana na niskim poziomie zarówno ze względu na koszt obliczeniowy w szkoleniu modeli, jak i ze względu na malejący zwrot w wydajności z dodawania kolejnych członków zespołu. Zespoły mogą być tak małe, jak trzy, pięć lub 10 modeli.

Dziedzina uczenia zespołowego jest dobrze zbadana i istnieje wiele wariacji na ten prosty temat.

Pomocne może być zastanowienie się nad zmianą każdego z trzech głównych elementów metody zespołowej; na przykład:

  • Dane treningowe: Różny wybór danych używanych do trenowania każdego modelu w zespole.
  • Modele zespołu: Różny wybór modeli używanych w zespole.
  • Kombinacje: Wybór sposobu, w jaki wyniki z członków zespołu są łączone.

Przyjrzyjmy się bliżej każdemu elementowi po kolei.

Zmienianie danych treningowych

Dane używane do trenowania każdego członka zespołu mogą być różne.

Najprostszym podejściem byłoby użycie k-krotnej walidacji krzyżowej w celu oszacowania błędu generalizacji wybranej konfiguracji modelu. W tej procedurze, k różnych modeli jest trenowanych na k różnych podzbiorach danych treningowych. Te k modeli może być następnie zapisane i użyte jako członkowie zespołu.

Inne popularne podejście obejmuje ponowne próbkowanie zbioru danych szkoleniowych z zastąpieniem, a następnie szkolenie sieci przy użyciu ponownie próbkowanego zbioru danych. Procedura ponownego próbkowania oznacza, że skład każdego zbioru danych treningowych jest inny, z możliwością powielania przykładów, co pozwala modelowi wytrenowanemu na zbiorze danych mieć nieco inne oczekiwania co do gęstości próbek, a w konsekwencji inny błąd generalizacji.

Podejście to nazywane jest agregacją bootstrapową, lub w skrócie baggingiem, i zostało zaprojektowane do użycia z nieprzyciętymi drzewami decyzyjnymi, które mają wysoką wariancję i niską skośność. Zazwyczaj używa się dużej liczby drzew decyzyjnych, takich jak setki lub tysiące, ponieważ są one szybkie w przygotowaniu.

… naturalnym sposobem na zmniejszenie wariancji, a tym samym zwiększenie dokładności przewidywania statystycznej metody uczenia się jest pobranie wielu zestawów treningowych z populacji, zbudowanie osobnego modelu przewidywania przy użyciu każdego zestawu treningowego i uśrednienie wynikowych przewidywań. Oczywiście, nie jest to praktyczne, ponieważ zazwyczaj nie mamy dostępu do wielu zbiorów treningowych. Zamiast tego możemy bootstrapować, pobierając powtarzające się próbki z (pojedynczego) zbioru danych treningowych.

– Strony 216-317, An Introduction to Statistical Learning with Applications in R, 2013.

An equivalent approach might be to use a smaller subset of the training dataset without regularization to allow faster training and some overfitting.

Pragnienie nieco niedostatecznie zoptymalizowanych modeli ma zastosowanie do wyboru członków zespołu bardziej ogólnie.

… członkowie komitetu nie powinni być indywidualnie wybierani tak, aby mieć optymalny kompromis między skośnością a wariancją, ale powinni mieć stosunkowo mniejszą skośność, ponieważ dodatkowa wariancja może być usunięta przez uśrednianie.

– Strona 366, Neural Networks for Pattern Recognition, 1995.

Inne podejścia mogą obejmować wybór losowej podprzestrzeni przestrzeni wejściowej do przydzielenia każdemu modelowi, takiej jak podzbiór hiper-objętości w przestrzeni wejściowej lub podzbiór cech wejściowych.

Ensemble Tutorials

Przykłady zespołów głębokiego uczenia, które zmieniają dane szkoleniowe, można znaleźć w następujących dokumentach:

  • How to Develop a Random-Split, Cross-Validation, and Bagging Ensemble for Deep Learning

Varying Models

Trenowanie tego samego modelu na tych samych danych z różnymi warunkami początkowymi da w rezultacie różne modele, biorąc pod uwagę trudność problemu i stochastyczną naturę algorytmu uczenia.

Wynika to z faktu, że problem optymalizacji, który sieć próbuje rozwiązać, jest tak trudny, że istnieje wiele „dobrych” i „różnych” rozwiązań mapowania wejść na wyjścia.

Większość algorytmów sieci neuronowych osiąga nieoptymalną wydajność właśnie z powodu istnienia przytłaczającej liczby nieoptymalnych minimów lokalnych. Jeśli weźmiemy zestaw sieci neuronowych, które zbiegły się do lokalnych minimów i zastosujemy uśrednianie, możemy skonstruować ulepszone oszacowanie. Jednym ze sposobów zrozumienia tego faktu jest rozważenie, że, ogólnie rzecz biorąc, sieci, które wpadły w różne minima lokalne, będą osiągać słabe wyniki w różnych regionach przestrzeni cech, a zatem ich warunki błędu nie będą silnie skorelowane.

– Kiedy sieci się nie zgadzają: Ensemble methods for hybrid neural networks, 1995.

To może skutkować zmniejszeniem wariancji, ale może nie poprawić radykalnie błędu generalizacji. Błędy popełniane przez modele mogą być nadal zbyt silnie skorelowane, ponieważ wszystkie modele nauczyły się podobnych funkcji odwzorowania.

Alternatywnym podejściem może być zmiana konfiguracji każdego modelu zespołu, np. użycie sieci o różnej pojemności (np. liczba warstw lub węzłów) lub modeli trenowanych w różnych warunkach (np. szybkość uczenia lub regularyzacja).

W wyniku może powstać zespół modeli, które nauczyły się bardziej heterogenicznego zbioru funkcji odwzorowania, a w konsekwencji mają niższą korelację w swoich przewidywaniach i błędach predykcji.

Różnice w losowej inicjalizacji, losowy wybór minibatches, różnice w hiperparametrach lub różne wyniki niedeterministycznych implementacji sieci neuronowych są często wystarczające, aby spowodować, że różni członkowie zespołu popełniają częściowo niezależne błędy.

– Strony 257-258, Deep Learning, 2016.

Taki zespół różnie skonfigurowanych modeli można uzyskać w normalnym procesie rozwijania sieci i dostrajania jej hiperparametrów. Każdy model mógłby zostać zapisany podczas tego procesu, a podzbiór lepszych modeli wybrany do złożenia ensemble.

Lekko gorzej wytrenowane sieci są darmowym produktem ubocznym większości algorytmów strojenia; pożądane jest wykorzystanie takich dodatkowych egzemplarzy, nawet jeśli ich wydajność jest znacznie gorsza od najlepszej znalezionej wydajności. Lepszą wydajność można osiągnąć poprzez staranne zaplanowanie klasyfikacji ensemble, wykorzystując najlepsze dostępne parametry i trenując różne egzemplarze na różnych podzbiorach dostępnej bazy danych.

– Neural Network Ensembles, 1990.

W przypadkach, gdy trenowanie pojedynczego modelu może trwać tygodnie lub miesiące, inną alternatywą może być okresowe zapisywanie najlepszego modelu podczas procesu szkolenia, zwanego modelami migawkowymi lub modelami punktów kontrolnych, a następnie wybieranie członków ensemble spośród zapisanych modeli. Zapewnia to korzyści z posiadania wielu modeli wytrenowanych na tych samych danych, choć zebranych podczas jednego treningu.

Snapshot Ensembling tworzy zespół dokładnych i zróżnicowanych modeli z jednego procesu szkolenia. Sercem Snapshot Ensembling jest proces optymalizacji, który odwiedza kilka lokalnych minimów zanim dojdzie do ostatecznego rozwiązania. Wykonujemy migawki modelu w tych różnych minimach i uśredniamy ich przewidywania w czasie testu.

– Snapshot Ensembles: Train 1, get M for free, 2017.

Odmianą zespołu Snapshot jest zapisywanie modeli z szeregu epok, być może zidentyfikowanych przez przegląd krzywych uczenia wydajności modelu na zbiorach danych trenujących i walidacyjnych podczas szkolenia. Zespoły z takich ciągłych sekwencji modeli nazywane są zespołami horyzontalnymi.

Po pierwsze, wybierane są sieci wytrenowane dla względnie stabilnego zakresu epok. Przewidywania prawdopodobieństwa każdej etykiety są produkowane przez standardowe klasyfikatory wybranej epoki, a następnie uśredniane.

– Poziomy i pionowy zespół z głęboką reprezentacją do klasyfikacji, 2013.

Dalszym ulepszeniem zespołu migawkowego jest systematyczne zmienianie procedury optymalizacji podczas szkolenia w celu wymuszenia różnych rozwiązań (tj. zestawów wag), z których najlepsze mogą być zapisywane w punktach kontrolnych. Może to obejmować wstrzykiwanie oscylującej ilości szumu przez epoki treningowe lub oscylowanie szybkości uczenia podczas epok treningowych. Odmiana tego podejścia, nazwana Stochastic Gradient Descent with Warm Restarts (SGDR), wykazała szybsze uczenie i najlepsze wyniki w standardowych zadaniach klasyfikacji zdjęć.

Nasz SGDR symuluje ciepłe restarty poprzez planowanie szybkości uczenia, aby osiągnąć konkurencyjne wyniki mniej więcej dwa do czterech razy szybciej. Osiągnęliśmy również nowe wyniki state-of-the-art z SGDR, głównie dzięki użyciu jeszcze szerszych i ensembles snapshots z trajektorii SGDR.

– SGDR: Stochastic Gradient Descent with Warm Restarts, 2016.

Zaletą bardzo głębokich sieci neuronowych jest to, że pośrednie warstwy ukryte zapewniają wyuczoną reprezentację danych wejściowych o niskiej rozdzielczości. Warstwy ukryte mogą bezpośrednio wyprowadzać swoje wewnętrzne reprezentacje, a dane wyjściowe z jednej lub więcej warstw ukrytych z jednej bardzo głębokiej sieci mogą być używane jako dane wejściowe do nowego modelu klasyfikacyjnego. Jest to prawdopodobnie najbardziej efektywne, gdy model głęboki jest trenowany przy użyciu modelu autoenkodera. Ten typ zespołu jest określany jako zespół pionowy.

Ta metoda łączy serię klasyfikatorów, których dane wejściowe są reprezentacją warstw pośrednich. Oczekuje się niższej stopy błędu, ponieważ cechy te wydają się zróżnicowane.

– Poziomy i pionowy ensemble z głęboką reprezentacją do klasyfikacji, 2013.

Ensemble Tutorials

Przykłady zespołów głębokiego uczenia się, które różnią się modelami zobacz:

  • How to Develop a Snapshot Ensemble for Deep Learning
  • How to Develop Horizontal Voting Ensemble for Deep Learning

Wariantyczne kombinacje

Najprostszym sposobem łączenia przewidywań jest obliczenie średniej przewidywań od członków zespołu.

Można to nieco ulepszyć poprzez ważenie przewidywań z każdego modelu, gdzie wagi są optymalizowane przy użyciu zbioru danych walidacji hold-out. To zapewnia średnią ważoną zespołu, który jest czasami nazywany model blending.

… możemy oczekiwać, że niektórzy członkowie komitetu będą zazwyczaj dokonywać lepszych przewidywań niż inni członkowie. Dlatego spodziewalibyśmy się, że będziemy w stanie zmniejszyć błąd jeszcze bardziej, jeśli nadamy większą wagę niektórym członkom komitetu niż innym. Tak więc, rozważamy uogólnioną prognozę komitetu daną przez ważoną kombinację przewidywań członków …

– Strona 367, Neural Networks for Pattern Recognition, 1995.

Jeden dalszy krok w złożoności obejmuje użycie nowego modelu do nauki, jak najlepiej połączyć przewidywania od każdego członka zespołu.

Model ten może być prostym modelem liniowym (np. bardzo podobnym do średniej ważonej), ale może być również zaawansowaną metodą nieliniową, która również uwzględnia konkretną próbkę wejściową oprócz przewidywań dostarczonych przez każdego członka zespołu. To ogólne podejście do uczenia się nowego modelu nazywane jest układaniem modeli lub uogólnianiem stosowym.

Uogólnianie stosowe działa poprzez dedukcję uprzedzeń generalizatora(ów) w odniesieniu do dostarczonego zbioru uczącego. Dedukcja ta polega na uogólnianiu w drugiej przestrzeni, której danymi wejściowymi są (na przykład) domysły oryginalnych generalizatorów, gdy są oni uczeni części zbioru uczącego i próbują odgadnąć jego resztę, a danymi wyjściowymi są (na przykład) poprawne domysły. W przypadku użycia z pojedynczym generalizatorem, uogólnienie stosowe jest schematem szacowania (a następnie korygowania) błędu generalizatora, który został wytrenowany na określonym zbiorze uczącym, a następnie zadał określone pytanie.

– Uogólnienie stosowe, 1992.

Są bardziej wyrafinowane metody układania modeli, takie jak boosting, gdzie członkowie zespołu są dodawani jeden po drugim w celu skorygowania błędów wcześniejszych modeli. Dodatkowa złożoność oznacza, że to podejście jest rzadziej stosowane z dużymi modelami sieci neuronowych.

Inną kombinacją, która jest nieco inna, jest łączenie wag wielu sieci neuronowych o tej samej strukturze. Wagi wielu sieci mogą być uśredniane, aby uzyskać nowy pojedynczy model, który ma lepszą ogólną wydajność niż jakikolwiek oryginalny model. Takie podejście nazywa się uśrednianiem wag modelu.

… sugeruje, że obiecujące jest uśrednienie tych punktów w przestrzeni wag i użycie sieci z tymi uśrednionymi wagami, zamiast tworzenia zespołu poprzez uśrednianie wyjść sieci w przestrzeni modelu

– Averaging Weights Leads to Wider Optima and Better Generalization, 2018.

Ensemble Tutorials

Przykłady zespołów głębokiego uczenia się, które różnią się kombinacjami zobacz:

  • How to Develop a Model Averaging Ensemble for Deep Learning
  • How to Develop a Weighted Average Ensemble for Deep Learning
  • How to Develop a Stacking Ensemble for Deep Learning
  • How to Create a Polyak-Ruppert Ensemble for Deep Learning

Summary of Ensemble Techniques

Podsumowując, we can list some of the more common and interesting ensemble methods for neural networks organized by each element of the method that can be varied, as follows:

  • Varying Training Data
    • k-fold Cross-Validation Ensemble
    • Bootstrap Aggregation (bagging) Ensemble
    • Random Training Subset Ensemble
  • Varying Models
    • Multiple Training Run Ensemble
    • Hyperparameter Tuning Ensemble
    • Snapshot Ensemble
    • Horizontal Epochs Ensemble
    • Vertical Representational Ensemble
  • Varying Combinations
    • Model Averaging Ensemble
    • Weighted Average Ensemble
    • Stacked Generalization (stacking) Ensemble
    • Boosting Ensemble
    • Model Weight Averaging Ensemble

There is no single best ensemble method; perhaps experiment with a few approaches or let the constraints of your project guide you.

Further Reading

This section provides more resources on the topic if you are looking to go deeper.

Books

  • Section 9.6 Committees of networks, Neural Networks for Pattern Recognition, 1995.
  • Section 7.11 Bagging and Other Ensemble Methods, Deep Learning, 2016.
  • Section 7.3.3 Model ensembling, Deep Learning With Python, 2017.
  • Section 8.2 Bagging, Random Forests, Boosting, An Introduction to Statistical Learning with Applications in R, 2013.

Papers

  • Neural Network Ensembles, 1990.
  • Neural Network Ensembles, Cross Validation, and Active Learning, 1994.
  • When networks disagree: Ensemble methods for hybrid neural networks, 1995.
  • Snapshot Ensembles: Train 1, get M for free, 2017.
  • SGDR: Stochastic Gradient Descent with Warm Restarts, 2016.
  • Horizontal and vertical ensemble with deep representation for classification, 2013.
  • Stacked generalization, 1992.
  • Averaging Weights Leads to Wider Optima and Better Generalization, 2018.

Articles

  • Ensemble learning, Wikipedia.
  • Bootstrap aggregating, Wikipedia.
  • Boosting (machine learning), Wikipedia.

Summary

In this post, you discovered ensemble methods for deep learning neural networks to reduce variance and improve prediction performance.

Specifically, you learned:

  • Neural network models are nonlinear and have a high variance, which can be frustrating when preparing a final model for making predictions.
  • Uczenie zespołowe łączy przewidywania z wielu modeli sieci neuronowych w celu zmniejszenia wariancji przewidywań i zmniejszenia błędu generalizacji.
  • Techniki uczenia zespołowego można pogrupować według elementu, który jest zróżnicowany, takiego jak dane szkoleniowe, model i sposób łączenia przewidywań.

Masz jakieś pytania?
Zadawaj pytania w komentarzach poniżej, a ja dołożę wszelkich starań, aby odpowiedzieć.

Develop Better Deep Learning Models Today!

Better Deep Learning

Train Faster, Reduce Overftting, and Ensembles

….z zaledwie kilkoma liniami kodu Pythona

Odkryj to w moim nowym Ebooku:
Better Deep Learning

Zawiera on tutoriale do samodzielnej nauki na takie tematy jak:
zanik wagi, normalizacja partii, porzucanie, układanie modeli i wiele więcej…

Wprowadź lepsze głębokie uczenie do swoich projektów!

Pomiń akademickość. Just Results.

See What’s Inside

Tweet Share Share

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *