Ensemble-leermethoden voor Deep Learning Neurale Netwerken

Tweet Share Share

Laatst bijgewerkt op 6 augustus 2019

Hoe de prestaties te verbeteren door voorspellingen van meerdere modellen te combineren.

Diepliggende neurale netwerken zijn niet-lineaire methoden.

Ze bieden meer flexibiliteit en kunnen schalen in verhouding tot de hoeveelheid beschikbare trainingsgegevens. Een nadeel van deze flexibiliteit is dat ze leren via een stochastisch trainingsalgoritme, wat betekent dat ze gevoelig zijn voor de specifieke kenmerken van de trainingsgegevens en elke keer dat ze worden getraind een andere set gewichten kunnen vinden, die op hun beurt andere voorspellingen opleveren.

In het algemeen wordt dit aangeduid als neurale netwerken met een hoge variantie en dit kan frustrerend zijn wanneer men een definitief model probeert te ontwikkelen om voorspellingen mee te doen.

Een succesvolle aanpak om de variantie van neurale netwerkmodellen te verminderen, is het trainen van meerdere modellen in plaats van één model en het combineren van de voorspellingen van deze modellen. Dit wordt ensembleleren genoemd en vermindert niet alleen de variantie van voorspellingen, maar kan ook resulteren in voorspellingen die beter zijn dan elk afzonderlijk model.

In deze post ontdekt u methoden voor deep learning neurale netwerken om de variantie te verminderen en de voorspellingsprestaties te verbeteren.

Na het lezen van deze post weet u:

  • Neurale netwerkmodellen zijn niet-lineair en hebben een hoge variantie, wat frustrerend kan zijn bij het opstellen van een definitief model voor het doen van voorspellingen.
  • Ensemble learning combineert de voorspellingen van meerdere neurale netwerkmodellen om de variantie van voorspellingen te verminderen en de generalisatiefout te verkleinen.
  • Technieken voor ensemble leren kunnen worden gegroepeerd door het element dat wordt gevarieerd, zoals trainingsdata, het model, en hoe voorspellingen worden gecombineerd.

Kick-start je project met mijn nieuwe boek Better Deep Learning, inclusief stap-voor-stap tutorials en de Python broncodebestanden voor alle voorbeelden.

Laten we aan de slag gaan.

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.

Google’s basismodel was een diep convolutioneel neuraal netwerk dat ongeveer zes maanden was getraind met behulp van asynchrone stochastische gradiëntafdaling op een groot aantal cores.

– Distilling the Knowledge in a Neural Network, 2015.

Na de investering van zoveel tijd en middelen is er geen garantie dat het uiteindelijke model een lage generalisatiefout zal hebben, en goed zal presteren op voorbeelden die tijdens de training niet zijn gezien.

… veel verschillende kandidaat-netwerken te trainen en vervolgens de beste te selecteren, en de rest te negeren. Er zijn twee nadelen aan een dergelijke aanpak. Ten eerste is alle moeite voor het trainen van de resterende netwerken verspild. Ten tweede is het netwerk dat het best presteerde op de validatieset misschien niet het netwerk dat het best presteert op nieuwe testgegevens.

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

Neurale netwerkmodellen zijn een niet-lineaire methode. Dit betekent dat zij complexe niet-lineaire relaties in de gegevens kunnen leren. Een nadeel van deze flexibiliteit is dat zij gevoelig zijn voor initiële condities, zowel in termen van de initiële willekeurige gewichten als in termen van de statistische ruis in de trainingsdataset.

Dit stochastische karakter van het leeralgoritme betekent dat een neuraal netwerkmodel elke keer dat het wordt getraind een iets (of dramatisch) andere versie van de mapping-functie van inputs naar outputs kan leren, die op zijn beurt verschillende prestaties zal leveren op de training- en de holdout-datasets.

Zo kunnen we een neuraal netwerk beschouwen als een methode met een lage bias en een hoge variantie. Zelfs wanneer getraind op grote datasets om te voldoen aan de hoge variantie, kan het hebben van enige variantie in een uiteindelijk model dat bedoeld is om te worden gebruikt om voorspellingen te doen frustrerend zijn.

Wilt u betere resultaten met Deep Learning?

Doe nu mijn gratis 7-daagse e-mail crashcursus (met voorbeeldcode).

Klik om u aan te melden en ontvang ook een gratis PDF Ebook-versie van de cursus.

Download Uw GRATIS Mini-Cursus

Verminder Variantie met behulp van een Ensemble van Modellen

Een oplossing voor de hoge variantie van neurale netwerken is om meerdere modellen te trainen en hun voorspellingen te combineren.

Het idee is om de voorspellingen van meerdere goede maar verschillende modellen te combineren.

Een goed model heeft vaardigheid, wat betekent dat zijn voorspellingen beter zijn dan willekeurig toeval. Belangrijk is dat de modellen op verschillende manieren goed moeten zijn; ze moeten verschillende voorspelfouten maken.

De reden dat middeling van modellen werkt, is dat verschillende modellen op de testset meestal niet allemaal dezelfde fouten maken.

– Pagina 256, Deep Learning, 2016.

Het combineren van de voorspellingen van meerdere neurale netwerken voegt een bias toe die op zijn beurt de variantie van een enkel getraind neuraal netwerkmodel tegengaat. Het resultaat zijn voorspellingen die minder gevoelig zijn voor de bijzonderheden van de trainingsgegevens, de keuze van het trainingsschema en de serendipiteit van een enkele trainingsrun.

Naast het verminderen van de variantie in de voorspelling, kan het ensemble ook resulteren in betere voorspellingen dan een enkel best model.

… de prestaties van een commissie kunnen beter zijn dan de prestaties van het beste enkele netwerk dat geïsoleerd wordt gebruikt.

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

Deze benadering behoort tot een algemene klasse van methoden die “ensembleleren” wordt genoemd en die methoden beschrijft waarmee wordt getracht zo goed mogelijk gebruik te maken van de voorspellingen van meerdere modellen die voor hetzelfde probleem zijn opgesteld.

In het algemeen houdt ensembleleren in dat meer dan één netwerk wordt getraind op dezelfde dataset, dat vervolgens elk van de getrainde modellen wordt gebruikt om een voorspelling te doen voordat de voorspellingen op een of andere manier worden gecombineerd om een uiteindelijke uitkomst of voorspelling te doen.

In feite is het ensembleren van modellen een standaardaanpak bij toegepast machinaal leren om ervoor te zorgen dat de meest stabiele en best mogelijke voorspelling wordt gedaan.

Bijvoorbeeld Alex Krizhevsky, et al. in hun beroemde paper uit 2012 getiteld “Imagenet classification with deep convolutional neural networks”, waarin zeer diepe convolutionele neurale netwerken voor fotoclassificatie werden geïntroduceerd (d.w.z. AlexNet), gebruikten modelgemiddelden over meerdere goed presterende CNN-modellen om op dat moment state-of-the-art resultaten te bereiken. De prestaties van één model werden vergeleken met de gemiddelde voorspellingen van twee, vijf en zeven verschillende modellen.

Het gemiddelde van de voorspellingen van vijf gelijksoortige CNN’s levert een foutenmarge van 16,4% op. Het gemiddelde van de voorspellingen van twee CNN’s die vooraf zijn getraind met de eerder genoemde vijf CNN’s geeft een foutmarge van 15,3%.

Ensembling is ook de aanpak die winnaars in machine learning-wedstrijden gebruiken.

Ensembling van modellen is een andere krachtige techniek om de best mogelijke resultaten voor een taak te behalen. Als je kijkt naar machine-learning wedstrijden, met name op Kaggle, zul je zien dat de winnaars zeer grote ensembles van modellen gebruiken die onvermijdelijk elk enkel model verslaan, hoe goed ook.

– Pagina 264, Deep Learning With Python, 2017.

How to Ensemble Neural Network Models

De oudste en misschien nog steeds meest gebruikte ensembling-aanpak voor neurale netwerken wordt een “commissie van netwerken” genoemd.”

Een verzameling netwerken met dezelfde configuratie en verschillende initiële willekeurige gewichten wordt getraind op dezelfde dataset. Elk model wordt vervolgens gebruikt om een voorspelling te doen en de werkelijke voorspelling wordt berekend als het gemiddelde van de voorspellingen.

Het aantal modellen in het ensemble wordt vaak klein gehouden, zowel vanwege de computationele kosten van het trainen van modellen als vanwege de afnemende opbrengst in prestaties van het toevoegen van meer ensembleleden. Ensembles kunnen zo klein zijn als drie, vijf of tien getrainde modellen.

Het gebied van ensembleleren is goed bestudeerd en er zijn veel variaties op dit eenvoudige thema.

Het kan nuttig zijn om te denken aan het variëren van elk van de drie belangrijkste elementen van de ensemblemethode; bijvoorbeeld:

  • Opleidingsdata: Varieer de keuze van de data die worden gebruikt om elk model in het ensemble te trainen.
  • Ensemble-modellen: Varieer de keuze van de modellen die in het ensemble worden gebruikt.
  • Combinaties: Varieer de keuze van de manier waarop uitkomsten van ensembleleden worden gecombineerd.

Laten we elk element op zijn beurt nader bekijken.

Variatie van trainingsdata

De data die worden gebruikt om elk lid van het ensemble te trainen, kunnen worden gevarieerd.

De eenvoudigste aanpak zou zijn om k-voudige kruisvalidatie te gebruiken om de generalisatiefout van de gekozen modelconfiguratie te schatten. In deze procedure worden k verschillende modellen getraind op k verschillende subsets van de trainingsgegevens. Deze k modellen kunnen dan worden opgeslagen en gebruikt als leden van een ensemble.

Een andere populaire aanpak bestaat uit het opnieuw bemonsteren van de trainingsdataset met vervanging, waarna een netwerk wordt getraind met behulp van de opnieuw bemonsterde dataset. De resampling procedure betekent dat de samenstelling van elke trainingsdataset anders is met de mogelijkheid van gedupliceerde voorbeelden waardoor het model getraind op de dataset een iets andere verwachting van de dichtheid van de monsters heeft, en op zijn beurt een andere generalisatiefout.

Deze aanpak wordt bootstrap aggregatie genoemd, of kortweg bagging, en is ontworpen voor gebruik met ongesprunede beslisbomen die een hoge variantie en een lage bias hebben. Typisch wordt een groot aantal beslisbomen gebruikt, zoals honderden of duizenden, omdat ze snel te maken zijn.

… een natuurlijke manier om de variantie te verminderen en dus de voorspellingsnauwkeurigheid van een statistische leermethode te verhogen, is om veel trainingsreeksen uit de populatie te nemen, met elke trainingsreeks een afzonderlijk voorspellingsmodel te bouwen, en het gemiddelde van de resulterende voorspellingen te berekenen. Dit is natuurlijk niet praktisch omdat we meestal geen toegang hebben tot meerdere trainingssets. In plaats daarvan kunnen we bootstrap uitvoeren, door herhaalde steekproeven te nemen uit de (enkele) trainingsdataset.

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

Een gelijkwaardige aanpak zou kunnen zijn om een kleinere subset van de trainingsdataset te gebruiken zonder regularisatie, om sneller te kunnen trainen en wat overfitting toe te staan.

De wens voor enigszins onder-geoptimaliseerde modellen geldt meer in het algemeen voor de selectie van ensembleleden.

… de leden van het comité moeten niet afzonderlijk worden gekozen voor een optimale afweging tussen bias en variantie, maar moeten een relatief kleinere bias hebben, omdat de extra variantie door middeling kan worden verwijderd.

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

Andere benaderingen kunnen inhouden dat een willekeurige deelruimte van de invoerruimte wordt gekozen om aan elk model toe te wijzen, zoals een deelverzameling van het hypervolume in de invoerruimte of een deelverzameling van invoerkenmerken.

Ensemble Tutorials

Voor voorbeelden van deep learning ensembles die variëren met trainingsdata zie:

  • Hoe ontwikkel je een Random-Split, Cross-Validation, en Bagging Ensemble voor Deep Learning

Variing Models

Het trainen van hetzelfde onder-beperkte model op dezelfde data met verschillende initiële condities zal resulteren in verschillende modellen, gezien de moeilijkheidsgraad van het probleem, en de stochastische aard van het leeralgoritme.

Dit komt omdat het optimalisatieprobleem dat het netwerk probeert op te lossen zo uitdagend is dat er veel “goede” en “verschillende” oplossingen zijn om inputs in outputs om te zetten.

De meeste neurale netwerkalgoritmen leveren suboptimale prestaties, met name door het bestaan van een overweldigend aantal suboptimale lokale minima. Als we een reeks neurale netwerken nemen die naar lokale minima zijn geconvergeerd en het gemiddelde toepassen, kunnen we een verbeterde schatting maken. Een manier om dit feit te begrijpen is te bedenken dat, in het algemeen, netwerken die in verschillende lokale minima zijn gevallen slecht zullen presteren in verschillende regio’s van de kenmerkenruimte en dat hun foutentermen dus niet sterk gecorreleerd zullen zijn.

– When networks disagree: Ensemble methods for hybrid neural networks, 1995.

Dit kan resulteren in een verminderde variantie, maar zal de generalisatiefout niet drastisch verbeteren. De fouten die de modellen maken kunnen nog steeds te sterk gecorreleerd zijn omdat de modellen allemaal soortgelijke mapping functies hebben geleerd.

Een alternatieve benadering zou kunnen zijn om de configuratie van elk ensemble model te variëren, zoals het gebruik van netwerken met verschillende capaciteit (bijv. aantal lagen of knooppunten) of modellen die onder verschillende condities zijn getraind (bijv. leersnelheid of regularisatie).

Het resultaat kan een ensemble van modellen zijn die een meer heterogene verzameling van mapping functies hebben geleerd en op hun beurt een lagere correlatie in hun voorspellingen en voorspellingsfouten hebben.

Verschillen in willekeurige initialisatie, willekeurige selectie van minibatches, verschillen in hyperparameters, of verschillende uitkomsten van niet-deterministische implementaties van neurale netwerken zijn vaak voldoende om verschillende leden van het ensemble gedeeltelijk onafhankelijke fouten te laten maken.

– Pagina’s 257-258, Deep Learning, 2016.

Zo’n ensemble van verschillend geconfigureerde modellen kan worden bereikt via het normale proces van het ontwikkelen van het netwerk en het afstemmen van de hyperparameters ervan. Elk model zou tijdens dit proces kunnen worden opgeslagen en een subset van betere modellen kan worden gekozen om het ensemble te vormen.

Licht inferieur getrainde netwerken zijn een gratis bijproduct van de meeste afstemmingsalgoritmen; het is wenselijk om dergelijke extra exemplaren te gebruiken, zelfs als hun prestaties aanzienlijk slechter zijn dan de beste gevonden prestaties. Betere prestaties kunnen nog worden bereikt door een zorgvuldige planning voor een ensembleclassificatie door de beste beschikbare parameters te gebruiken en verschillende exemplaren te trainen op verschillende subsets van de beschikbare database.

– Neurale Netwerk Ensembles, 1990.

In gevallen waarin het weken of maanden kan duren om een enkel model te trainen, kan een ander alternatief zijn om periodiek het beste model tijdens het trainingsproces op te slaan, snapshot- of checkpoint-modellen genoemd, en vervolgens ensembleleden te selecteren uit de opgeslagen modellen. Dit biedt de voordelen van meerdere modellen die op dezelfde gegevens zijn getraind, hoewel ze tijdens één trainingsrun zijn verzameld.

Snapshot Ensembling produceert een ensemble van nauwkeurige en diverse modellen uit één enkel trainingsproces. De kern van Snapshot Ensembling is een optimalisatieproces dat verschillende lokale minima bezoekt voordat het convergeert naar een uiteindelijke oplossing. We maken snapshots van het model bij deze verschillende minima, en het gemiddelde van hun voorspellingen op het tijdstip van de test.

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

Een variatie op het Snapshot Ensemble is om modellen op te slaan van een reeks epochs, wellicht geïdentificeerd door tijdens de training de leercurves van de modelprestaties op de train- en validatiedatasets te bekijken. Ensembles uit dergelijke aaneengesloten reeksen modellen worden horizontale ensembles genoemd.

Eerst worden netwerken geselecteerd die voor een relatief stabiel bereik van tijdperken zijn getraind. De voorspellingen van de waarschijnlijkheid van elk label worden geproduceerd door standaard classifiers het geselecteerde epoch, en vervolgens gemiddeld.

– Horizontaal en verticaal ensemble met diepe representatie voor classificatie, 2013.

Een verdere verbetering van het snapshot ensemble is het systematisch variëren van de optimalisatieprocedure tijdens de training om verschillende oplossingen (d.w.z. sets van gewichten) af te dwingen, waarvan de beste kunnen worden opgeslagen in controlepunten. Dit kan inhouden dat een oscillerende hoeveelheid ruis wordt geïnjecteerd gedurende de trainingsepochs of dat de leersnelheid gedurende de trainingsepochs oscilleert. Een variant van deze aanpak, Stochastic Gradient Descent with Warm Restarts (SGDR) genaamd, toonde sneller leren en state-of-the-art resultaten voor standaard foto classificatietaken.

Onze SGDR simuleert warme herstarts door de leersnelheid te plannen om ruwweg twee tot vier keer sneller concurrerende resultaten te bereiken. We hebben ook nieuwe state-of-the-art resultaten bereikt met SGDR, voornamelijk door nog bredere en ensembles van momentopnamen uit het traject van SGDR te gebruiken.

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

Een voordeel van zeer diepe neurale netwerken is dat de tussenliggende verborgen lagen een geleerde representatie bieden van de lage-resolutie invoergegevens. De verborgen lagen kunnen hun interne representaties direct uitvoeren, en de uitvoer van een of meer verborgen lagen van één zeer diep netwerk kan worden gebruikt als invoer voor een nieuw classificatiemodel. Dit is wellicht het doeltreffendst wanneer het diepe model wordt getraind met behulp van een autoencoder-model. Dit type ensemble wordt een verticaal ensemble genoemd.

Deze methode ensembleert een reeks classifiers waarvan de inputs de representatie van tussenliggende lagen zijn. Er wordt een lager foutenpercentage verwacht omdat deze kenmerken divers lijken.

– Horizontaal en verticaal ensemble met diepe representatie voor classificatie, 2013.

Ensemble Tutorials

Voor voorbeelden van deep learning ensembles die modellen variëren zie:

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

Varying Combinations

De eenvoudigste manier om de voorspellingen te combineren is door het gemiddelde van de voorspellingen van de ensembleleden te berekenen.

Dit kan enigszins worden verbeterd door de voorspellingen van elk model te wegen, waarbij de gewichten worden geoptimaliseerd met behulp van een hold-out validatie dataset. Dit levert een gewogen gemiddeld ensemble op dat soms “model blending” wordt genoemd.

… we mogen verwachten dat sommige leden van het comité doorgaans betere voorspellingen doen dan andere leden. We zouden dus verwachten dat we de fout nog verder kunnen verkleinen als we aan sommige comitéleden meer gewicht toekennen dan aan andere. We beschouwen dus een algemene commissievoorspelling als een gewogen combinatie van de voorspellingen van de leden …

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

Een verdere stap in complexiteit houdt in dat een nieuw model wordt gebruikt om te leren hoe de voorspellingen van elk ensemblelid het best kunnen worden gecombineerd.

Het model kan een eenvoudig lineair model zijn (b.v. zoals het gewogen gemiddelde), maar het kan ook een verfijnde niet-lineaire methode zijn die ook rekening houdt met het specifieke inputmonster naast de voorspellingen die door elk lid worden verstrekt. Deze algemene benadering van het leren van een nieuw model wordt “model stacking” of “gestapelde generalisatie” genoemd.

Gestapelde generalisatie werkt door de biases van de generaliseerder(s) af te leiden ten opzichte van een gegeven leerset. Deze afleiding vindt plaats door te generaliseren in een tweede ruimte waarvan de invoer (bijvoorbeeld) de gissingen zijn van de oorspronkelijke generaliseerders wanneer deze met een deel van de leerset zijn onderwezen en de rest proberen te raden, en waarvan de uitvoer (bijvoorbeeld) de juiste gissing is. Bij gebruik met een enkele generaliseerder is gestapelde generalisatie een schema voor het schatten van (en vervolgens corrigeren voor) de fout van een generaliseerder die is getraind op een bepaalde leerset en vervolgens een bepaalde vraag heeft gesteld.

– Gestapelde generalisatie, 1992.

Er zijn meer verfijnde methoden voor het stapelen van modellen, zoals boosting waarbij ensembleleden een voor een worden toegevoegd om de fouten van eerdere modellen te corrigeren. Door de extra complexiteit wordt deze aanpak minder vaak toegepast bij grote neurale netwerkmodellen.

Een andere combinatie die een beetje anders is, is het combineren van de gewichten van meerdere neurale netwerken met dezelfde structuur. De gewichten van meerdere netwerken kunnen worden gemiddeld, om hopelijk een nieuw model te verkrijgen dat beter presteert dan het oorspronkelijke model. Deze aanpak heet het middelen van modelgewichten.

… suggereert dat het veelbelovend is om deze punten in de gewichtsruimte te middelen, en een netwerk met deze gemiddelde gewichten te gebruiken, in plaats van een ensemble te vormen door de uitgangen van netwerken in de modelruimte te middelen

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

Ensemble Tutorials

Voor voorbeelden van deep learning ensembles die variëren in combinaties zie:

  • Hoe ontwikkel je een Model Averaging Ensemble voor Deep Learning
  • Hoe ontwikkel je een Weighted Average Ensemble voor Deep Learning
  • Hoe ontwikkel je een Stacking Ensemble voor Deep Learning
  • Hoe maak je een Polyak-Ruppert Ensemble voor Deep Learning

Samenvatting van Ensemble Technieken

Samenvattend, 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.
  • Ensemble leren combineert de voorspellingen van meerdere neurale netwerkmodellen om de variantie van de voorspellingen te verminderen en de generalisatiefout te verkleinen.
  • Technieken voor ensemble leren kunnen worden gegroepeerd op basis van het element dat wordt gevarieerd, zoals trainingsgegevens, het model, en de manier waarop voorspellingen worden gecombineerd.

Heeft u nog vragen?
Stel uw vragen in de opmerkingen hieronder en ik zal mijn best doen om te antwoorden.

Ontwikkel vandaag nog betere Deep Learning-modellen!

Beter Deep Learning

Train sneller, verminder overftting, en Ensembles

…met slechts een paar regels pythoncode

Ontdek hoe in mijn nieuwe Ebook:
Better Deep Learning

Het biedt zelfstudietutorials over onderwerpen als:
gewichtsverval, batchnormalisatie, dropout, model stacking en nog veel meer…

Breng beter deep learning naar je projecten!

Skip de academici. Just Results.

See What’s Inside

Tweet Share Share

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *