Hoe train je een AI: gesuperviseerd leren
Wanneer je een machine traint door de software inputdata aan te bieden waarvoor de outputdata gekend is, spreken we van gesuperviseerd leren. Met behulp van de variabelen die je de artificiële intelligentie aanbiedt, wordt een functie gegenereerd die de input classificeert als de juiste output. Denk hierbij aan een spamfilter. Je traint de software met behulp van e-mails waarvan je weet of deze al dan niet spam zijn, waardoor je de trainingsdata van labels kan voorzien. De AI leert de kenmerken van spam kennen, waarna hij een functie creëert die de mails automatisch in de juiste groep indeelt. Wanneer het juiste niveau van accuraatheid is behaald, stopt de training en kan de AI actief aan de slag gaan om spam uit te filteren.
Classificatie vs. regressie
Gesuperviseerd leren kan je ruwweg in twee groepen indelen. Tot de eerste groep, classificatie genaamd, behoren trainingsalgoritmes waarbij de outputdata een categorie is. Denk hierbij aan een robot die bepaalt of een patiënt ziek is. Op basis van de inputvariabelen worden de patiënten geklasseerd in een groep met zieke of groep met gezonde mensen. Wanneer de outputdata een waarde bevat, spreken we van een regressiealgoritme. De output is hierbij bijvoorbeeld de europrijs van producten, of het gewicht van personen.
Beslissingsbomen
Een beslissingsboom wordt vaak gebruikt als classificatiealgoritme en is één van de meest gebruikte gesuperviseerde leermethodes. Bij deze techniek splits je de inputdata in twee of meer homogene sets op basis van de significantste differentiator. Dat proces herhaal je tot alle inputdata in één van de vooropgestelde categorieën is ingedeeld. Eenmaal de trainingsperiode is afgerond, heb je een beslissingsboom die de inputdata zo vaak mogelijk juist classificeert.
Gini-coëfficiënt
Stel dat je een dataset hebt van een klas met dertig studenten, met als variabelen hun geslacht (jongen/meisje), leeftijd (11/12) en grootte (van 1,4 meter tot 1,7 meter). Vijftien van deze dertig studenten spelen voetbal in hun vrije tijd. Aan de hand van de variabelen en de trainingsdata zal de beslissingsboom bepalen wat de significantste differentiator is. Gevoelsmatig zou je zeggen dat het geslacht de beste differentiator in ons voorbeeld is, aangezien voetbal voornamelijk door jongens wordt gespeeld, ongeacht hun leeftijd en lengte. Je gevoel volgen is echter geen correcte statistische methode.
Artificiële intelligenties hebben deze kennis niet. Beslissingsbomen gebruiken daarom verschillende statistische technieken om hun keuze op te baseren. Ze proberen met behulp van de gebruikte algoritmes de subgroepen die worden gevormd zo homogeen mogelijk te maken. In ons voorbeeld wil dat zeggen dat zoveel mogelijk van de kinderen die voetbal spelen in dezelfde subgroep belanden.
Eén van de methodes die beslissingsbomen gebruiken, is de Gini-coëfficiënt. De Gini voor subgroepen bereken je door de som te nemen van het kwadraat van het percentage kinderen dat voetbal speelt en het percentage dat geen voetbal speelt. Voor beide subgroepen krijg je hierdoor een getal. De Gini-coëfficiënt bekom je door de som te nemen van de gewogen Gini’s. Hoe dichter dat getal bij 1 ligt, hoe beter.
Support Vector Machine
Een andere classificatiemethode waarmee je een artificiële intelligentie kan trainen, is een ‘support vector machine’. Support vectors in deze machine zijn de coördinaten van afzonderlijke observaties. Stel dat je als dataset de lengte en haarlengte van een groep mannen en vrouwen gebruikt en aan de hand van deze gegevens wilt bepalen of het een man of vrouw betreft. De support vector (45,150) zal in dat geval waarschijnlijk van een vrouw zijn, terwijl het punt (4,180) waarschijnlijk een man is. Bij support vector machines wordt er getracht om een lijn te trekken tussen de groep mannen en vrouwen die zo ver mogelijk verwijderd is van beide groepen datapunten. Wanneer de trainingsperiode afgerond is, zullen nieuwe datapunten hierdoor juist worden geclassificeerd.
Transformeren
In ons voorgaande voorbeeld is het relatief eenvoudig om een lijn te trekken tussen beide geslachten. In de praktijk kunnen artificiële intelligenties echter eveneens data te verwerken krijgen die niet zo eenvoudig te splitsen is. Denk hierbij aan datapunten van verschillende groepen die elkaar overlappen. In dat geval moet één van de parameters getransformeerd worden om de datapunten uit elkaar te trekken. In ons voorbeeld gebruikten we bijvoorbeeld initieel centimeters voor zowel de lengte als de haarlengte. Door de haarlengte in een andere eenheid te plaatsen, kan je beide geslachten wederom eenvoudig van elkaar scheiden.
Regressie
Regressie wordt daarentegen gebruikt wanneer je met continue data te maken hebt. Het algoritme zoekt een functie die de relatie tussen de inputdata en outputdata het best beschrijft. Stel je voor dat je als kind gevraagd wordt om je klasgenoten in een rij te zetten op basis van hun gewicht. Je kijkt naar het postuur van de kinderen en houdt rekening met de lengte van de studenten. Hetzelfde gebeurt bij regressie. Op basis van de variabelen die voor handen zijn tijdens de trainingsperiode (postuur en lengte in het voorbeeld), bepaal je een functie die de outputdata (gewicht) het best berekent.
Je kan twee types regressie gebruiken. In de eerste plaats bestaat er enkelvoudige regressie, waarbij er slechts één onafhankelijke variabele bestaat. Bij meervoudige regressie zijn er meerdere onafhankelijke variabelen. In ons voorbeeld hebben we te maken met meervoudige regressie, aangezien je rekening houdt met zowel het postuur als de lengte van de kinderen. Door slechts rekening te houden met de lengte van de kinderen, maak je gebruik van enkelvoudige regressie.
Kleinste-kwadratenmethode
In het eenvoudigste geval maakt artificiële intelligentie een lineaire functie aan, waarbij we spreken van lineaire regressie. Hierbij bekom je als resultaat een functie in de vorm van y=ax+b, waarbij y de outputdata, x de inputdata, a de helling van de functie en b het snijpunt met de as is. A en b krijgen een zodanige waarde dat de afstanden tussen de datapunten en de rechte zo klein mogelijk zijn. Deze methode wordt kleinste-kwadratenmethode genoemd en houdt in dat de som van de kwadraten van alle afwijkingen wordt berekend. De waarde voor a en b wordt bepaald door deze som zo klein mogelijk te maken.
Wanneer je een machine traint door de software inputdata aan te bieden waarvoor de outputdata gekend is, spreken we van gesuperviseerd leren. Met behulp van de variabelen die je de artificiële intelligentie aanbiedt, wordt een functie gegenereerd die de input classificeert als de juiste output. Denk hierbij aan een spamfilter. Je traint de software met behulp van e-mails waarvan je weet of deze al dan niet spam zijn, waardoor je de trainingsdata van labels kan voorzien. De AI leert de kenmerken van spam kennen, waarna hij een functie creëert die de mails automatisch in de juiste groep indeelt. Wanneer het juiste niveau van accuraatheid is behaald, stopt de training en kan de AI actief aan de slag gaan om spam uit te filteren.
Classificatie vs. regressie
Gesuperviseerd leren kan je ruwweg in twee groepen indelen. Tot de eerste groep, classificatie genaamd, behoren trainingsalgoritmes waarbij de outputdata een categorie is. Denk hierbij aan een robot die bepaalt of een patiënt ziek is. Op basis van de inputvariabelen worden de patiënten geklasseerd in een groep met zieke of groep met gezonde mensen. Wanneer de outputdata een waarde bevat, spreken we van een regressiealgoritme. De output is hierbij bijvoorbeeld de europrijs van producten, of het gewicht van personen.
Beslissingsbomen
Een beslissingsboom wordt vaak gebruikt als classificatiealgoritme en is één van de meest gebruikte gesuperviseerde leermethodes. Bij deze techniek splits je de inputdata in twee of meer homogene sets op basis van de significantste differentiator. Dat proces herhaal je tot alle inputdata in één van de vooropgestelde categorieën is ingedeeld. Eenmaal de trainingsperiode is afgerond, heb je een beslissingsboom die de inputdata zo vaak mogelijk juist classificeert.
Gini-coëfficiënt
Stel dat je een dataset hebt van een klas met dertig studenten, met als variabelen hun geslacht (jongen/meisje), leeftijd (11/12) en grootte (van 1,4 meter tot 1,7 meter). Vijftien van deze dertig studenten spelen voetbal in hun vrije tijd. Aan de hand van de variabelen en de trainingsdata zal de beslissingsboom bepalen wat de significantste differentiator is. Gevoelsmatig zou je zeggen dat het geslacht de beste differentiator in ons voorbeeld is, aangezien voetbal voornamelijk door jongens wordt gespeeld, ongeacht hun leeftijd en lengte. Je gevoel volgen is echter geen correcte statistische methode.
Artificiële intelligenties hebben deze kennis niet. Beslissingsbomen gebruiken daarom verschillende statistische technieken om hun keuze op te baseren. Ze proberen met behulp van de gebruikte algoritmes de subgroepen die worden gevormd zo homogeen mogelijk te maken. In ons voorbeeld wil dat zeggen dat zoveel mogelijk van de kinderen die voetbal spelen in dezelfde subgroep belanden.
Eén van de methodes die beslissingsbomen gebruiken, is de Gini-coëfficiënt. De Gini voor subgroepen bereken je door de som te nemen van het kwadraat van het percentage kinderen dat voetbal speelt en het percentage dat geen voetbal speelt. Voor beide subgroepen krijg je hierdoor een getal. De Gini-coëfficiënt bekom je door de som te nemen van de gewogen Gini’s. Hoe dichter dat getal bij 1 ligt, hoe beter.
Support Vector Machine
Een andere classificatiemethode waarmee je een artificiële intelligentie kan trainen, is een ‘support vector machine’. Support vectors in deze machine zijn de coördinaten van afzonderlijke observaties. Stel dat je als dataset de lengte en haarlengte van een groep mannen en vrouwen gebruikt en aan de hand van deze gegevens wilt bepalen of het een man of vrouw betreft. De support vector (45,150) zal in dat geval waarschijnlijk van een vrouw zijn, terwijl het punt (4,180) waarschijnlijk een man is. Bij support vector machines wordt er getracht om een lijn te trekken tussen de groep mannen en vrouwen die zo ver mogelijk verwijderd is van beide groepen datapunten. Wanneer de trainingsperiode afgerond is, zullen nieuwe datapunten hierdoor juist worden geclassificeerd.
Transformeren
In ons voorgaande voorbeeld is het relatief eenvoudig om een lijn te trekken tussen beide geslachten. In de praktijk kunnen artificiële intelligenties echter eveneens data te verwerken krijgen die niet zo eenvoudig te splitsen is. Denk hierbij aan datapunten van verschillende groepen die elkaar overlappen. In dat geval moet één van de parameters getransformeerd worden om de datapunten uit elkaar te trekken. In ons voorbeeld gebruikten we bijvoorbeeld initieel centimeters voor zowel de lengte als de haarlengte. Door de haarlengte in een andere eenheid te plaatsen, kan je beide geslachten wederom eenvoudig van elkaar scheiden.
Regressie
Regressie wordt daarentegen gebruikt wanneer je met continue data te maken hebt. Het algoritme zoekt een functie die de relatie tussen de inputdata en outputdata het best beschrijft. Stel je voor dat je als kind gevraagd wordt om je klasgenoten in een rij te zetten op basis van hun gewicht. Je kijkt naar het postuur van de kinderen en houdt rekening met de lengte van de studenten. Hetzelfde gebeurt bij regressie. Op basis van de variabelen die voor handen zijn tijdens de trainingsperiode (postuur en lengte in het voorbeeld), bepaal je een functie die de outputdata (gewicht) het best berekent.
Je kan twee types regressie gebruiken. In de eerste plaats bestaat er enkelvoudige regressie, waarbij er slechts één onafhankelijke variabele bestaat. Bij meervoudige regressie zijn er meerdere onafhankelijke variabelen. In ons voorbeeld hebben we te maken met meervoudige regressie, aangezien je rekening houdt met zowel het postuur als de lengte van de kinderen. Door slechts rekening te houden met de lengte van de kinderen, maak je gebruik van enkelvoudige regressie.
Kleinste-kwadratenmethode
In het eenvoudigste geval maakt artificiële intelligentie een lineaire functie aan, waarbij we spreken van lineaire regressie. Hierbij bekom je als resultaat een functie in de vorm van y=ax+b, waarbij y de outputdata, x de inputdata, a de helling van de functie en b het snijpunt met de as is. A en b krijgen een zodanige waarde dat de afstanden tussen de datapunten en de rechte zo klein mogelijk zijn. Deze methode wordt kleinste-kwadratenmethode genoemd en houdt in dat de som van de kwadraten van alle afwijkingen wordt berekend. De waarde voor a en b wordt bepaald door deze som zo klein mogelijk te maken.