stomp Wat is een beslisboom? - Verenig AI
Verbind je met ons

AI 101

Wat is een beslisboom?

mm
Bijgewerkt on

Wat is een beslisboom?

A beslissingsboom is een nuttig machine learning-algoritme dat wordt gebruikt voor zowel regressie- als classificatietaken. De naam ‘beslissingsboom’ komt voort uit het feit dat het algoritme de dataset in steeds kleinere delen blijft verdelen totdat de gegevens in afzonderlijke exemplaren zijn verdeeld, die vervolgens worden geclassificeerd. Als je de resultaten van het algoritme zou visualiseren, zou de manier waarop de categorieën zijn verdeeld lijken op een boom en veel bladeren.

Dat is een korte definitie van een beslisboom, maar laten we eens dieper ingaan op hoe beslisbomen werken. Als u een beter begrip heeft van hoe beslissingsbomen werken en van hun use cases, weet u wanneer u ze moet gebruiken tijdens uw machine learning-projecten.

Formaat van een beslisboom

Een beslisboom is net als een stroomschema. Om een ​​stroomdiagram te gebruiken, begint u bij het startpunt, of de wortel, van het diagram en vervolgens, op basis van hoe u de filtercriteria van dat startknooppunt beantwoordt, gaat u naar een van de volgende mogelijke knooppunten. Dit proces wordt herhaald totdat een einde is bereikt.

Beslissingsbomen werken in wezen op dezelfde manier, waarbij elk intern knooppunt in de boom een ​​soort test-/filtercriteria is. De knooppunten aan de buitenkant, de eindpunten van de boom, zijn de labels voor het betreffende datapunt en worden "bladeren" genoemd. De takken die van de interne knooppunten naar het volgende knooppunt leiden, zijn kenmerken of conjuncties van kenmerken. De regels die worden gebruikt om de datapunten te classificeren, zijn de paden die van de wortel naar de bladeren lopen.

Algoritmen voor beslissingsbomen

Beslisbomen werken volgens een algoritmische benadering die de dataset opsplitst in individuele datapunten op basis van verschillende criteria. Deze splitsingen worden gedaan met verschillende variabelen of de verschillende kenmerken van de dataset. Als het doel bijvoorbeeld is om te bepalen of een hond of kat al dan niet wordt beschreven door de invoerkenmerken, kunnen variabelen waarop de gegevens worden gesplitst dingen zijn als "klauwen" en "blaffen".

Dus welke algoritmen worden gebruikt om de gegevens daadwerkelijk op te splitsen in takken en bladeren? Er zijn verschillende methoden die kunnen worden gebruikt om een ​​boom op te splitsen, maar de meest gebruikelijke methode van splitsen is waarschijnlijk een techniek die wordt aangeduid als "recursieve binaire splitsing”. Bij het uitvoeren van deze splitsingsmethode begint het proces bij de root en vertegenwoordigt het aantal kenmerken in de dataset het mogelijke aantal mogelijke splitsingen. Een functie wordt gebruikt om te bepalen hoeveel nauwkeurigheid elke mogelijke splitsing kost, en de splitsing wordt gemaakt met behulp van de criteria die de minste nauwkeurigheid opofferen. Dit proces wordt recursief uitgevoerd en er worden subgroepen gevormd volgens dezelfde algemene strategie.

Om te bepaal de kosten van de splitsing, wordt een kostenfunctie gebruikt. Voor regressietaken en classificatietaken wordt een andere kostenfunctie gebruikt. Het doel van beide kostenfuncties is om te bepalen welke takken de meest vergelijkbare responswaarden hebben, of de meest homogene takken. Bedenk dat u wilt dat testgegevens van een bepaalde klasse bepaalde paden volgen en dit is intuïtief logisch.

In termen van de regressiekostenfunctie voor recursieve binaire splitsing, is het algoritme dat wordt gebruikt om de kosten te berekenen als volgt:

som(y – voorspelling)^2

De voorspelling voor een bepaalde groep gegevenspunten is het gemiddelde van de reacties van de trainingsgegevens voor die groep. Alle gegevenspunten worden door de kostenfunctie gehaald om de kosten voor alle mogelijke splitsingen te bepalen en de splitsing met de laagste kosten wordt geselecteerd.

Wat betreft de kostenfunctie voor classificatie, de functie is als volgt:

G = som(pk * (1 – pk))

Dit is de Gini-score en het is een meting van de effectiviteit van een splitsing, gebaseerd op het aantal instanties van verschillende klassen in de groepen die het gevolg zijn van de splitsing. Met andere woorden, het kwantificeert hoe gemengd de groepen zijn na de splitsing. Een optimale splitsing is wanneer alle groepen die het gevolg zijn van de splitsing alleen bestaan ​​uit invoer van één klasse. Als er een optimale splitsing is gemaakt, is de "pk"-waarde 0 of 1 en is G gelijk aan nul. Je zou kunnen raden dat de splitsing in het slechtste geval er een is waarbij er een 50-50 weergave is van de klassen in de splitsing, in het geval van binaire classificatie. In dit geval zou de "pk"-waarde 0.5 zijn en zou G ook 0.5 zijn.

Het splitsingsproces wordt beëindigd wanneer alle gegevenspunten zijn omgezet in bladeren en geclassificeerd. Het kan echter zijn dat u de groei van de boom vroegtijdig wilt stoppen. Grote complexe bomen zijn vatbaar voor overfitting, maar er kunnen verschillende methoden worden gebruikt om dit tegen te gaan. Een methode om overfitting te verminderen, is het specificeren van een minimum aantal gegevenspunten dat zal worden gebruikt om een ​​blad te maken. Een andere methode om overfitting te controleren, is de boom tot een bepaalde maximale diepte te beperken, die bepaalt hoe lang een pad zich kan uitstrekken van de wortel tot een blad.

Een ander proces dat betrokken is bij het maken van beslisbomen is aan het snoeien. Snoeien kan helpen de prestaties van een beslissingsboom te verbeteren door takken te verwijderen die kenmerken bevatten die weinig voorspellende kracht/weinig belang hebben voor het model. Op deze manier wordt de complexiteit van de boom verminderd, wordt de kans op overfitten kleiner en wordt de voorspellende bruikbaarheid van het model vergroot.

Bij het snoeien kan het proces zowel aan de bovenkant van de boom als aan de onderkant van de boom beginnen. De eenvoudigste manier van snoeien is echter om te beginnen met de bladeren en te proberen de knoop te laten vallen die de meest voorkomende klasse binnen dat blad bevat. Als de nauwkeurigheid van het model hierbij niet verslechtert, blijft de wijziging behouden. Er zijn andere technieken die worden gebruikt om snoei uit te voeren, maar de hierboven beschreven methode - snoeien met minder fouten - is waarschijnlijk de meest gebruikelijke methode voor het snoeien van beslissingsbomen.

Overwegingen bij het gebruik van beslisbomen

Beslissingsbomen zijn vaak handig wanneer classificatie moet worden uitgevoerd, maar de rekentijd een grote beperking is. Beslissingsbomen kunnen duidelijk maken welke kenmerken in de gekozen datasets de meeste voorspellende kracht hebben. Bovendien kunnen beslissingsbomen, in tegenstelling tot veel algoritmen voor machine learning waarbij de regels die worden gebruikt om de gegevens te classificeren, moeilijk te interpreteren zijn, interpreteerbare regels opleveren. Beslissingsbomen kunnen ook gebruik maken van zowel categorische als continue variabelen, wat betekent dat er minder voorbewerking nodig is in vergelijking met algoritmen die slechts één van deze variabeletypes aankunnen.

Beslissingsbomen presteren over het algemeen niet erg goed wanneer ze worden gebruikt om de waarden van continue attributen te bepalen. Een andere beperking van beslisbomen is dat bij classificatie, als er weinig trainingsvoorbeelden maar veel klassen zijn, de beslisboom vaak onnauwkeurig is.

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.