Wat zijn de voordelen van Ensemble-methoden voor Machine Learning?
Ensembles zijn voorspellende modellen die voorspellingen van twee of meer andere modellen combineren.
Ensemble-leermethoden zijn populair en de go-to techniek wanneer de beste prestatie bij een voorspellend modelproject het belangrijkste resultaat is.
Niettemin zijn ze niet altijd de meest geschikte techniek om te gebruiken en beginners op het gebied van toegepast machinaal leren hebben de verwachting dat ensembles of een specifieke ensemblemethode altijd de beste methode zijn om te gebruiken.
Ensembles bieden twee specifieke voordelen op een voorspellend modelleringsproject, en het is belangrijk om te weten wat deze voordelen zijn en hoe u ze kunt meten om ervoor te zorgen dat het gebruik van een ensemble de juiste beslissing is op uw project.
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:
- Ensemble Learning
- Use Ensembles to Improve Robustness
- Bias, Variance, and Ensembles
- Use Ensembles to Improve Performance
Ensemble Learning
Een ensemble is een machine learning model dat de voorspellingen van twee of meer modellen combineert.
De modellen die bijdragen aan het ensemble, ensembleleden genoemd, kunnen van hetzelfde type zijn of van verschillende types en kunnen al dan niet op dezelfde trainingsgegevens zijn getraind.
De voorspellingen van de ensembleleden kunnen worden gecombineerd met behulp van statistieken, zoals de modus of het gemiddelde, of met meer verfijnde methoden die leren hoeveel elk lid moet worden vertrouwd en onder welke voorwaarden.
De studie van ensemblemethoden kwam pas echt van de grond in de jaren negentig, en in dat decennium werden artikelen gepubliceerd over de populairste en meest gebruikte methoden, zoals core bagging, boosting en stacking.
In de late jaren 2000 nam de populariteit van ensembles toe, deels door hun enorme succes in machine learning-competities, zoals de Netflix-prijs en latere competities op Kaggle.
In de afgelopen decennia hebben meervoudige classificatiesystemen, ook wel ensemblesystemen genoemd, steeds meer aandacht gekregen binnen de computationele-intelligentie- en machineleergemeenschap.
– Page 1, Ensemble Machine Learning, 2012.
Ensemblemethoden verhogen de computationele kosten en de complexiteit aanzienlijk. Deze toename komt door de expertise en tijd die nodig zijn om meerdere modellen te trainen en te onderhouden in plaats van een enkel model. Dit roept de vraag op:
- Waarom zouden we het gebruik van een ensemble moeten overwegen?
Er zijn twee belangrijke redenen om een ensemble te gebruiken in plaats van een enkel model, en ze houden verband met elkaar; ze zijn:
- Prestaties: Een ensemble kan betere voorspellingen doen en betere prestaties leveren dan een enkel model.
- Robuustheid: Een ensemble vermindert de spreiding of dispersie van de voorspellingen en de modelprestaties.
Ensembles worden gebruikt om betere voorspellende prestaties te bereiken op een voorspellend modelleringsprobleem dan een enkel voorspellend model. De manier waarop dit wordt bereikt, kan worden begrepen als het model dat de variantiecomponent van de voorspelfout vermindert door bias toe te voegen (d.w.z. in de context van de bias-variantie trade-off).
Orspronkelijk ontwikkeld om de variantie te verminderen – en zo de nauwkeurigheid van een geautomatiseerd besluitvormingssysteem te verbeteren …
– Page 1, Ensemble Machine Learning, 2012.
Er is nog een ander belangrijk en minder besproken voordeel van ensemblemethoden, namelijk verbeterde robuustheid of betrouwbaarheid in de gemiddelde prestaties van een model.
Dit zijn beide belangrijke aandachtspunten bij een machine-learningproject en soms kunnen we de voorkeur geven aan een van beide of beide eigenschappen van een model.
Laten we deze twee eigenschappen eens nader bekijken om de voordelen van het gebruik van ensembleleren voor een project beter te begrijpen.
Gebruik ensembles om de robuustheid te verbeteren
Bij een voorspellend modelleerproject evalueren we vaak meerdere modellen of modelleerpijplijnen en kiezen we er een die goed of het best presteert als ons uiteindelijke model.
Dit algoritme of deze pijplijn wordt vervolgens toegepast op alle beschikbare gegevens en gebruikt om voorspellingen te doen op nieuwe gegevens.
We hebben een idee van hoe goed het model gemiddeld zal presteren op basis van ons testharnas, meestal geschat met behulp van herhaalde k-voudige kruisvalidatie als gouden standaard. Het probleem is dat gemiddelde prestaties mogelijk niet voldoende zijn.
Een gemiddelde nauwkeurigheid of fout van een model is een samenvatting van de verwachte prestaties, terwijl in feite sommige modellen beter en sommige modellen slechter presteerden op verschillende subsets van de gegevens.
De standaardafwijking is het gemiddelde verschil tussen een waarneming en het gemiddelde en vat de spreiding of spreiding van gegevens samen. Voor een nauwkeurigheids- of foutmaatstaf voor een model kan het u een idee geven van de spreiding van het gedrag van het model.
Kijken naar de minimale en maximale prestatiescores van het model geeft u een idee van de slechtste en beste prestaties die u van het model kunt verwachten, en dit is misschien niet acceptabel voor uw toepassing.
Het eenvoudigste ensemble is om het model meerdere keren op de trainingsdatasets te passen en de voorspellingen te combineren met behulp van een samenvattende statistiek, zoals het gemiddelde voor regressie of de modus voor classificatie. Belangrijk is dat elk model enigszins verschilt door het stochastische leeralgoritme, verschillen in de samenstelling van de trainingsdataset, of verschillen in het model zelf.
Dit zal de spreiding in de voorspellingen van het model verkleinen. De gemiddelde prestatie zal waarschijnlijk ongeveer gelijk blijven, hoewel de slechtste en de beste prestaties dichter bij de gemiddelde prestatie zullen komen te liggen.
In feite wordt de verwachte prestatie van het model gladgestreken.
Dit kunnen we de “robuustheid” in de verwachte prestatie van het model noemen en is een minimumvoordeel van het gebruik van een ensemblemethode.
Een ensemble kan al dan niet de modelprestatie verbeteren ten opzichte van een enkel lid dat een bijdrage levert, zoals verderop wordt besproken, maar het zou op zijn minst de spreiding in de gemiddelde prestatie van het model moeten verminderen.
Voor meer over dit onderwerp, zie de zelfstudie:
- Hoe variantie in een finaal Machine Learning Model te verminderen
Bias, Variantie, en Ensembles
Machine learning-modellen voor classificatie en regressie leren een mapping-functie van inputs naar outputs.
Deze mapping wordt geleerd van voorbeelden uit het probleemdomein, de trainingsdataset, en wordt geëvalueerd op gegevens die niet tijdens de training zijn gebruikt, de testdataset.
De fouten die een machine learning-model maakt, worden vaak beschreven in termen van twee eigenschappen: de bias en de variantie.
De bias is een maat voor hoe dicht het model de mapping-functie tussen inputs en outputs kan vastleggen. Het geeft de starheid van het model weer: de sterkte van de aanname die het model heeft over de functionele vorm van de mapping tussen inputs en outputs.
De variantie van het model is de mate waarin de prestaties van het model veranderen wanneer het op verschillende trainingsgegevens wordt toegepast. Het geeft de invloed van de specifieke gegevens op het model weer.
De variantie verwijst naar het bedrag waarmee het zou veranderen als we het model met een andere set trainingsgegevens zouden schatten.
– Page 34, An Introduction to Statistical Learning with Applications in R, 2014.
De bias en de variantie van de prestaties van een model zijn met elkaar verbonden.
Het liefst zouden we een model hebben met een lage bias en een lage variantie, hoewel dit in de praktijk een grote uitdaging is. In feite zou dit kunnen worden omschreven als het doel van toegepast machine-leren voor een gegeven voorspellend modelleringsprobleem.
Vermindering van de bias kan vaak gemakkelijk worden bereikt door de variantie te vergroten. Omgekeerd kan het verminderen van de variantie gemakkelijk worden bereikt door het vergroten van de bias.
Dit wordt een trade-off genoemd omdat het gemakkelijk is om een methode te verkrijgen met een extreem lage bias maar een hoge variantie of een methode met een zeer lage variantie maar een hoge bias …
– Bladzijde 36, An Introduction to Statistical Learning with Applications in R, 2014.
Sommige modellen hebben van nature een hoge bias of een hoge variantie, die vaak kunnen worden versoepeld of verhoogd met behulp van hyperparameters die het leergedrag van het algoritme veranderen.
Ensembles bieden een manier om de variantie van de voorspellingen te verkleinen; dat is de hoeveelheid fout in de gedane voorspellingen die kan worden toegeschreven aan “variantie.”
Dit is niet altijd het geval, maar wanneer dit wel het geval is, leidt deze vermindering van variantie op zijn beurt tot betere voorspellende prestaties.
Uit empirisch en theoretisch bewijs blijkt dat sommige ensembletechnieken (zoals bagging) werken als een mechanisme om de variantie te verminderen, d.w.z, zij verminderen de variantiecomponent van de fout. Bovendien suggereren empirische resultaten dat andere ensembletechnieken (zoals AdaBoost) zowel de bias- als de variantiecomponent van de fout reduceren.
– Pagina 39, Pattern Classification Using Ensemble Methods, 2010.
Het gebruik van ensembles om de variantie-eigenschappen van voorspelfouten te reduceren leidt tot het belangrijkste voordeel van het gebruik van ensembles in de eerste plaats: het verbeteren van de voorspellende prestaties.
Ensembles gebruiken om prestaties te verbeteren
Het verminderen van het variantie-element van de voorspelfout verbetert de voorspellende prestaties.
We gebruiken expliciet ensembleleren om betere voorspellende prestaties te verkrijgen, zoals een lagere fout bij regressie of een hoge nauwkeurigheid bij classificatie.
… er is een manier om de nauwkeurigheid van modellen te verbeteren die eenvoudiger en krachtiger is dan een oordeelkundige selectie van algoritmen: men kan modellen in ensembles samenvoegen.
– Page 2, Ensemble Methods in Data Mining, 2010.
Dit is het primaire gebruik van ensemble-leermethoden en het voordeel dat wordt aangetoond door het gebruik van ensembles door de meerderheid van de winnaars van machine-leercompetities, zoals de Netflix-prijs en competities op Kaggle.
In de Netflix-prijs werd gedurende twee jaar een wedstrijd gehouden waarbij het eerste team dat een model indiende dat het interne aanbevelingssysteem van Netflix met 10% verbeterde, $1.000.000 zou winnen. Het uiteindelijke voordeel werd verkregen door de bijdragen van de modellen van maximaal 30 concurrenten tegen elkaar af te wegen.
– Pagina 8, Ensemble Methods in Data Mining, 2010.
Dit voordeel is ook aangetoond bij academische wedstrijden, zoals topoplossingen voor de beroemde ImageNet-dataset in computer vision.
Een ensemble van deze restnetten behaalt een fout van 3,57% op de ImageNet-testset. Dit resultaat behaalde de 1e plaats op de ILSVRC 2015 classificatietaak.
– Deep Residual Learning for Image Recognition, 2015.
Wanneer een ensemble op deze manier wordt gebruikt, moet het alleen worden aangenomen als het gemiddeld beter presteert dan elk bijdragend lid van het ensemble. Als dit niet het geval is, dan moet het bijdragende lid dat beter presteert in plaats daarvan worden gebruikt.
Beschouw de verdeling van de verwachte scores die door een model op een testharnas worden berekend, zoals herhaalde k-voudige kruisvalidatie, zoals we hierboven hebben gedaan bij het overwegen van de “robuustheid” die door een ensemble wordt geboden. Een ensemble dat de variantie in de fout vermindert, zal in feite de verdeling verschuiven in plaats van alleen maar de spreiding van de verdeling te verkleinen.
Dit kan resulteren in een betere gemiddelde prestatie in vergelijking met een enkel model.
Dit is niet altijd het geval, en het hebben van deze verwachting is een veelgemaakte beginnersfout.
Het is mogelijk, en zelfs gebruikelijk, dat de prestatie van een ensemble niet beter is dan die van het best presterende lid van het ensemble. Dit kan gebeuren als het ensemble één topmodel heeft en de andere leden geen voordeel bieden of het ensemble niet in staat is hun bijdrage effectief te benutten.
Het is ook mogelijk dat een ensemble slechter presteert dan het best presterende lid van het ensemble.
Een ensemble kan ook slechter presteren dan het best presterende lid van het ensemble. Ook dit komt vaak voor bij een model dat het best presteert, maar waarvan de voorspellingen worden verslechterd door een of meer slecht presterende andere modellen en het ensemble niet in staat is om hun bijdragen effectief te benutten.
Het is dus belangrijk om een reeks ensemblemethoden te testen en hun gedrag af te stemmen, net zoals we dat doen voor elk individueel machine learning model.
Verder lezen
In dit gedeelte vindt u meer bronnen over dit onderwerp als u dieper op de materie wilt ingaan.
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.
In het bijzonder hebt u het volgende geleerd:
- Een minimaal voordeel van het gebruik van ensembles is het verminderen van de spreiding in de gemiddelde vaardigheid van een voorspellend model.
- Een belangrijk voordeel van het gebruik van ensembles is het verbeteren van de gemiddelde voorspellingsprestaties over elk bijdragend lid in het ensemble.
- Het mechanisme voor betere prestaties met ensembles is vaak de vermindering van de variantiecomponent van voorspelfouten die door de bijdragende modellen worden gemaakt.