AI-basisprincipes
Wat is Ensemble Learning?
Een van de krachtigste machine learning-technieken is ensemble learning. Ensemblelearning is het gebruik van meerdere machine learning-modellen om de betrouwbaarheid en nauwkeurigheid van voorspellingen te verbeteren. Maar hoe leidt het gebruik van meerdere machine learning-modellen tot nauwkeurigere voorspellingen? Wat voor soort technieken worden gebruikt om ensemble learning-modellen te creëren? We zullen het antwoord op deze vragen onderzoeken, door naar de redenatie achter het gebruik van ensemble-modellen te kijken en de primaire manieren waarop ensemble-modellen worden gemaakt.
Wat Is Ensemble Learning?
In einfachheid is ensemble learning het proces van het trainen van meerdere machine learning-modellen en het combineren van hun uitvoer. De verschillende modellen worden gebruikt als basis om één optimaal voorspellend model te creëren. Het combineren van een gevarieerd set van individuele machine learning-modellen kan de stabiliteit van het totale model verbeteren, waardoor nauwkeurigere voorspellingen ontstaan. Ensemble learning-modellen zijn vaak betrouwbaarder dan individuele modellen en komen daarom vaak als eerste in veel machine learning-wedstrijden.
Er zijn verschillende technieken die een ingenieur kan gebruiken om een ensemble learning-model te creëren. Simpele ensemble learning-technieken omvatten dingen zoals het berekenen van het gemiddelde van de uitvoer van verschillende modellen, terwijl er ook complexere methoden en algoritmes zijn ontwikkeld om de voorspellingen van veel basisleren/modellen samen te voegen.
Waarom Ensemble Training Methods Gebruiken?
Machine learning-modellen kunnen van elkaar verschillen om verschillende redenen. Verschillende machine learning-modellen kunnen werken met verschillende steekproeven van de populatiegegevens, verschillende modelleringstechnieken kunnen worden gebruikt en een andere hypothese kan worden gebruikt.
Stel je voor dat je een trivia-spel speelt met een grote groep mensen. Als je alleen speelt, zijn er ongetwijfeld onderwerpen waar je kennis over hebt en veel onderwerpen waar je geen kennis over hebt. Nu ga je ervan uit dat je in een team speelt met andere mensen. Net als jij hebben ze kennis over hun eigen specialiteiten en geen kennis van andere onderwerpen. Toch, als je kennis wordt samengevoegd, heb je nauwkeurigere schattingen voor meer velden en neemt het aantal onderwerpen waar je team geen kennis over heeft af. Dit is hetzelfde principe dat ten grondslag ligt aan ensemble learning, het combineren van de voorspellingen van verschillende teamleden (individuele modellen) om de nauwkeurigheid te verbeteren en fouten te minimaliseren.
Statistici hebben aangetoond dat wanneer een menigte mensen wordt gevraagd om de juiste antwoord te raden voor een bepaalde vraag met een reeks mogelijke antwoorden, al hun antwoorden een kansverdeling vormen. De mensen die echt het juiste antwoord weten, kiezen het juiste antwoord met vertrouwen, terwijl de mensen die de verkeerde antwoorden kiezen, hun schattingen over de reeks verkeerde antwoorden verdelen. Terug naar het voorbeeld van een trivia-spel, als jij en je twee vrienden weten dat het juiste antwoord A is, zullen jullie alle drie A kiezen, terwijl de drie andere mensen in je team die het antwoord niet weten, waarschijnlijk B, C, D of E zullen kiezen. Het resultaat is dat A drie stemmen heeft en de andere antwoorden waarschijnlijk slechts één of twee stemmen hebben.
Alle modellen hebben een zekere hoeveelheid fouten. De fouten van het ene model zijn anders dan de fouten die door een ander model worden gegenereerd, omdat de modellen zelf verschillend zijn om de bovengenoemde redenen. Wanneer alle fouten worden onderzocht, zullen ze niet rond één antwoord of een ander zijn gegroepeerd, maar zullen ze rond zijn verspreid. De onjuiste schattingen zijn in wezen over alle mogelijke verkeerde antwoorden verspreid, waardoor ze elkaar opheffen. Ondertussen zullen de juiste schattingen van de verschillende modellen rond het juiste, correcte antwoord zijn gegroepeerd. Wanneer ensemble trainingsmethoden worden gebruikt, kan het juiste antwoord met grotere betrouwbaarheid worden gevonden.
Eenvoudige Ensemble Trainingsmethoden
Eenvoudige ensemble trainingsmethoden omvatten meestal alleen het toepassen van statistische samenvattingsmethoden, zoals het bepalen van de modus, mediaan of gewogen gemiddelde van een reeks voorspellingen.
Modus verwijst naar het meest voorkomende element in een reeks getallen. Om de modus te bepalen, retourneren de individuele leermodellen hun voorspellingen en deze voorspellingen worden beschouwd als stemmen voor de finale voorspelling. Het berekenen van het gemiddelde van de voorspellingen gebeurt eenvoudigweg door het rekenkundig gemiddelde van de voorspellingen te berekenen, afgerond op het dichtstbijzijnde gehele getal. Ten slotte kan een gewogen gemiddelde worden berekend door verschillende gewichten toe te kennen aan de modellen die worden gebruikt om voorspellingen te maken, waarbij de gewichten de veronderstelde importantie van dat model vertegenwoordigen. De numerieke weergave van de klasvoorspelling wordt vermenigvuldigd met een gewicht van 0 tot 1,0, de individuele gewogen voorspellingen worden vervolgens opgeteld en het resultaat wordt afgerond op het dichtstbijzijnde gehele getal.
Geavanceerde Ensemble Trainingsmethoden
Er zijn drie primaire geavanceerde ensemble trainingsmethoden, elk ontworpen om een specifiek type machine learning-probleem aan te pakken. “Bagging”-technieken worden gebruikt om de variantie van een model te verlagen, waarbij variantie verwijst naar hoeveel het resultaat van voorspellingen verschilt wanneer deze op dezelfde observatie zijn gebaseerd. “Boosting”-technieken worden gebruikt om de bias van modellen te bestrijden. Ten slotte wordt “stacking” gebruikt om voorspellingen in het algemeen te verbeteren.
Ensemble learning-methoden kunnen over het algemeen in twee verschillende groepen worden onderverdeeld: sequentiële methoden en parallelle ensemble-methoden.
Sequentiële ensemble-methoden krijgen de naam “sequentieel” omdat de basisleren/modellen sequentieel worden gegenereerd. In het geval van sequentiële methoden is de essentiële gedachte dat de afhankelijkheid tussen de basisleren wordt uitgebuit om nauwkeurigere voorspellingen te krijgen. Verkeerd gelabelde voorbeelden krijgen hun gewichten aangepast, terwijl correct gelabelde voorbeelden dezelfde gewichten behouden. Elke keer dat een nieuwe leerling wordt gegenereerd, worden de gewichten gewijzigd en (hopelijk) verbetert de nauwkeurigheid.
In tegenstelling tot sequentiële ensemble-modellen worden de basisleren in parallelle ensemble-modellen in parallel gegenereerd. Wanneer parallelle ensemble learning wordt uitgevoerd, is de gedachte dat de onafhankelijkheid van de basisleren wordt uitgebuit, aangezien de algemene foutsnelheid kan worden verlaagd door de voorspellingen van de individuele lerenden te middelen.
Ensemble trainingsmethoden kunnen homogeen of heterogeen van aard zijn. De meeste ensemble learning-methoden zijn homogeen, wat betekent dat ze één type basisleermodel/algoritme gebruiken. In tegenstelling tot heterogene ensembles maken gebruik van verschillende leer-algoritmes, diversifiëren en variëren de lerenden om ervoor te zorgen dat de nauwkeurigheid zo hoog mogelijk is.
Voorbeelden Van Ensemble Learning Algoritmen

Visualisatie van ensemble boosting. Foto: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)
Voorbeelden van sequentiële ensemble-methoden zijn AdaBoost, XGBoost en Gradient tree boosting. Deze zijn allemaal boosting-modellen. Voor deze boosting-modellen is het doel om de zwakke, onderpresterende lerenden om te zetten in krachtigere lerenden. Modellen zoals AdaBoost en XGBoost beginnen met veel zwakke lerenden die slechts iets beter presteren dan willekeurig gokken. Terwijl de training voortduurt, worden gewichten toegepast op de gegevens en aangepast. Voorbeelden die verkeerd zijn geclassificeerd door de lerenden in eerdere ronden van de training krijgen meer gewicht. Na dat dit proces voor het gewenste aantal trainingsronden is herhaald, worden de voorspellingen samengevoegd door middel van een gewogen som (voor regressietaken) en een gewogen stemming (voor classificatietaken).

Het leerproces van bagging. Foto: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)
Een voorbeeld van een parallel ensemble-model is een Random Forest-classificator, en Random Forests is ook een voorbeeld van een bagging-techniek. De term “bagging” komt van “bootstrap aggregatie”. Steekproeven worden genomen uit de totale dataset met behulp van een steekproeftechniek genaamd “bootstrap sampling”, die door de basisleren worden gebruikt om voorspellingen te maken. Voor classificatietaken worden de uitvoer van de basismodellen samengevoegd met behulp van stemming, terwijl ze voor regressietaken worden gemiddeld. Random Forests gebruikt individuele beslissingsbomen als hun basisleren, en elke boom in het ensemble wordt gegenereerd met een andere steekproef uit de dataset. Een willekeurige subset van kenmerken wordt ook gebruikt om de boom te genereren. Hierdoor ontstaan zeer willekeurige individuele beslissingsbomen, die allemaal samen worden samengevoegd om betrouwbare voorspellingen te bieden.

Visualisatie van ensemble stacking. Foto: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)
In termen van stacking ensemble-technieken worden meerdere regressie- of classificatiemodellen samengevoegd door een hoger niveau, meta-model. De lagere niveau, basismodellen worden getraind door de hele dataset te voeden. De uitvoer van de basismodellen wordt vervolgens gebruikt als kenmerken om het meta-model te trainen. Stacking ensemble-modellen zijn vaak heterogeen van aard.












