Verbind je met ons

AI 101

Wat is ensembleleren?

mm

Een van de krachtigste technieken voor machine learning is ensemble learning. Samen leren 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-leermodellen te creëren? We zullen het antwoord op deze vragen onderzoeken, kijken naar de grondgedachte achter het gebruik van ensemblemodellen en de belangrijkste manieren om ensemblemodellen te maken.

Wat is ensembleleren?

Simpel gezegd, ensemble learning is het proces van het trainen van meerdere machine learning-modellen en het combineren van hun output. De verschillende modellen worden als basis gebruikt om tot één optimaal voorspellend model te komen. Het combineren van een diverse set individuele machine learning-modellen kan de stabiliteit van het algehele model verbeteren, wat leidt tot nauwkeurigere voorspellingen. Modellen voor het leren van ensembles zijn vaak betrouwbaarder dan individuele modellen, en als gevolg daarvan komen ze vaak op de eerste plaats in veel wedstrijden voor machine learning.

Er zijn verschillende technieken die een ingenieur kan gebruiken om een ​​ensemble-leermodel te creëren. Eenvoudige ensemble-leertechnieken omvatten zaken als het middelen van de output van verschillende modellen, terwijl er ook complexere methoden en algoritmen zijn die speciaal zijn ontwikkeld om de voorspellingen van veel basisleerders/modellen samen te combineren.

Waarom Ensemble-trainingsmethoden gebruiken?

Machine learning-modellen kunnen om verschillende redenen van elkaar verschillen. Er kunnen verschillende machine learning-modellen werken op verschillende steekproeven van de populatiegegevens, er kunnen verschillende modelleringstechnieken worden gebruikt en er kan een andere hypothese worden gebruikt.

Stel je voor dat je een trivia-spel speelt met een grote groep mensen. Als je alleen in een team zit, zijn er ongetwijfeld onderwerpen waar je kennis van hebt en veel onderwerpen waar je geen kennis van hebt. Ga er nu vanuit dat je in een team speelt met andere mensen. Net als jij zullen zij enige kennis hebben van hun eigen specialismen en geen kennis van andere onderwerpen. Maar als je kennis wordt gecombineerd, heb je nauwkeurigere schattingen voor meer velden en neemt het aantal onderwerpen af ​​waar je team geen kennis van heeft. Dit is hetzelfde principe dat ten grondslag ligt aan ensemble-leren, waarbij de voorspellingen van verschillende teamleden (individuele modellen) worden gecombineerd om de nauwkeurigheid te verbeteren en fouten te minimaliseren.

Statistici hebben het bewezen dat wanneer een menigte mensen wordt gevraagd het juiste antwoord op een bepaalde vraag te raden met een reeks mogelijke antwoorden, al hun antwoorden een kansverdeling vormen. De mensen die echt het juiste antwoord weten, zullen met vertrouwen het juiste antwoord kiezen, terwijl de mensen die de verkeerde antwoorden kiezen hun gissingen zullen verdelen over het bereik van mogelijk foute antwoorden. Om terug te gaan naar het voorbeeld van een trivia-spel: als jij en je twee vrienden weten dat het juiste antwoord A is, zullen jullie alle drie op A stemmen, terwijl de drie andere mensen in je team die het antwoord niet weten waarschijnlijk het verkeerde antwoord zullen geven. raad B, C, D of E. Het resultaat is dat A drie stemmen heeft en de andere antwoorden waarschijnlijk maximaal één of twee stemmen.

Alle modellen hebben een bepaalde hoeveelheid fouten. De fouten voor het ene model zullen verschillen van de fouten die door een ander model worden geproduceerd, aangezien de modellen zelf anders zijn om de hierboven beschreven redenen. Wanneer alle fouten zijn onderzocht, zullen ze niet rond het ene of het andere antwoord zijn geclusterd, maar eerder verspreid. De onjuiste gissingen zijn in wezen verspreid over alle mogelijke foute antwoorden, elkaar opheffend. Ondertussen worden de juiste gissingen van de verschillende modellen geclusterd rond het ware, juiste antwoord. Wanneer ensemble-trainingsmethoden worden gebruikt, het juiste antwoord kan met grotere betrouwbaarheid worden gevonden.

Eenvoudige trainingsmethoden voor ensembles

Eenvoudige ensemble-trainingsmethoden omvatten meestal alleen de toepassing van statistische samenvattingstechnieks, zoals het bepalen van de modus, het gemiddelde of het gewogen gemiddelde van een reeks voorspellingen.

Modus verwijst naar het meest voorkomende element binnen een reeks getallen. Om de modus te krijgen, retourneren de individuele leermodellen hun voorspellingen en deze voorspellingen worden beschouwd als stemmen voor de uiteindelijke voorspelling. Het bepalen van het gemiddelde van de voorspellingen gebeurt simpelweg 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 doen, waarbij de gewichten het gepercipieerde belang van dat model vertegenwoordigen. De numerieke weergave van de klassevoorspelling wordt vermenigvuldigd met een gewicht van 0 tot 1.0, de individueel gewogen voorspellingen worden vervolgens bij elkaar opgeteld en het resultaat wordt afgerond op het dichtstbijzijnde gehele getal.

Geavanceerde ensemble-trainingsmethoden

Er zijn drie primaire geavanceerde ensemble-trainingstechnieken, die elk zijn ontworpen om een ​​specifiek type machine learning-probleem aan te pakken. "Bagage" technieken worden gebruikt om de variantie van de voorspellingen van een model te verkleinen, waarbij variantie verwijst naar hoeveel de uitkomst van voorspellingen verschilt wanneer ze op dezelfde waarneming zijn gebaseerd. "Boosting" technieken worden gebruikt om de vooringenomenheid van modellen tegen te gaan. Eindelijk, "stapelen" wordt gebruikt om voorspellingen in het algemeen te verbeteren.

Ensemble-leermethoden zelf kunnen over het algemeen worden onderverdeeld in twee verschillende groepen: sequentiële methoden en parallelle ensemble-methoden.

Sequentiële ensemblemethoden krijgen de naam "sequentiële" omdat de basisleerlingen/modellen opeenvolgend worden gegenereerd. In het geval van sequentiële methoden is het essentiële idee dat de afhankelijkheid tussen de basisleerders wordt uitgebuit om nauwkeurigere voorspellingen te krijgen. Bij verkeerd gelabelde voorbeelden wordt het gewicht aangepast, terwijl correct gelabelde voorbeelden hetzelfde gewicht behouden. Elke keer dat er een nieuwe leerling wordt gegenereerd, veranderen de gewichten en verbetert de nauwkeurigheid (hopelijk).

In tegenstelling tot sequentiële ensemble-modellen, genereren parallelle ensemble-methoden de basisleerders parallel. Bij het uitvoeren van parallel ensembleleren is het de bedoeling om gebruik te maken van het feit dat de basisleerders onafhankelijk zijn, aangezien het algemene foutenpercentage kan worden verminderd door het gemiddelde te nemen van de voorspellingen van de individuele leerders.

Trainingsmethoden voor ensembles kunnen homogeen of heterogeen van aard zijn. De meeste ensemble-leermethoden zijn homogeen, wat betekent dat ze één type basisleermodel/algoritme gebruiken. Daarentegen maken heterogene ensembles gebruik van verschillende leeralgoritmen, die de leerlingen diversifiëren en variëren om ervoor te zorgen dat de nauwkeurigheid zo hoog mogelijk is.

Voorbeelden van algoritmen voor het leren van ensembles

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 ensemblemethoden zijn onder meer AdaBoost, XGBoosten Verhoging van de gradiëntboom. Dit zijn allemaal boostmodellen. Bij deze stimulerende modellen is het doel om de zwakke, slecht presterende leerlingen om te zetten in krachtigere leerlingen. Modellen zoals AdaBoost en XGBoost beginnen met veel zwakke leerlingen die net iets beter presteren dan willekeurig raden. Naarmate de training vordert, worden gewichten op de gegevens toegepast en aangepast. Gevallen die door de cursisten in eerdere trainingsrondes verkeerd werden geclassificeerd, krijgen meer gewicht. Nadat dit proces is herhaald voor het gewenste aantal trainingsrondes, worden de voorspellingen samengevoegd via een gewogen som (voor regressietaken) en een gewogen stem (voor classificatietaken).

Het leerproces van het zakken. Foto: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Een voorbeeld van een parallel ensemblemodel is a Willekeurig bos classifier, en Random Forests is ook een voorbeeld van een bagging-techniek. De term "bagging" komt van "bootstrap-aggregatie". Er worden steekproeven genomen uit de totale dataset met behulp van een steekproeftechniek die bekend staat als "bootstrap-sampling", die door de basisleerders wordt gebruikt om voorspellingen te doen. Voor classificatietaken worden de outputs van de basismodellen geaggregeerd met behulp van stemmen, terwijl ze samen worden gemiddeld voor regressietaken. Random Forests gebruikt individuele beslissingsbomen als hun basisleerders, en elke boom in het ensemble is gebouwd met een andere steekproef uit de dataset. Een willekeurige subset van kenmerken wordt ook gebruikt om de boom te genereren. Dit leidt tot sterk gerandomiseerde individuele beslisbomen, die allemaal worden gecombineerd om betrouwbare voorspellingen te doen.

Visualisatie van ensemblestapeling. Foto: Supun Setunga via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Wat betreft het stapelen van ensembletechnieken, worden meerdere regressie- of classificatiemodellen gecombineerd via een metamodel van een hoger niveau. De basismodellen op het lagere niveau trainen door de volledige dataset te krijgen. De uitvoer van de basismodellen wordt vervolgens gebruikt als kenmerken om het metamodel te trainen. Stapelensemblemodellen zijn vaak heterogeen van aard.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.