Artikel
Geschreven door Mark Zwart
Posted on 04-12-2019

Voorkom deze valkuilen bij machine learning AI

101 keer gelezen

Machine learning helpt ons op vele manieren om het leven sneller en makkelijker te maken, zowel privé als zakelijk. Maar wat is machine learning? Kort gezegd probeert men bij machine learning menselijk gedrag over te zetten naar machines. Zoals u al in het eerste deel van deze reeks over kunstmatige intelligentie kon lezen, is machine learning een vorm van artificial intelligence. Gaan bedrijven concreet aan de slag met kunstmatige intelligentie? Dan doen ze dat meestal middels machine learning AI. Zeker wanneer uw bedrijf net start met machine learning, liggen er valkuilen op de loer. Middels dit blog help ik u deze valkuilen voorkomen. 

Wat is machine learning?

Machine learning is gefocust op het ontwikkelen van computerprogramma's die zichzelf dingen kunnen aanleren en hun eigen resultaten kunnen verbeteren op basis van data. Het is vooral gericht op het detecteren en leren van patronen in data en leunt sterk op statistische wetenschap. Met dit ‘lerende algoritme’ kan de computer bijvoorbeeld zichzelf aanleren om taken te volbrengen, processen te verbeteren, accurate voorspellingen te doen of vraagstukken op te lossen. 

In deel 1 Kunstmatige intelligentie: uitleg voor beginners kon u lezen dat er bij machine learning AI drie verschillende vormen van leren zijn. Het verschil bij de drie vormen zit hem in de mate waarin de docent (de mens) zaken voorkauwt aan de computer:

  • Supervised machine learning. 
  • Reinforcement machine learning. 
  • Unsupervised machine learning. 

Dan nu over naar de valkuilen van machine learning voor beginners. 

1# Sla geen stappen over in het machine learning proces

Een valkuil bij machine learning AI is dat dataspecialisten te snel resultaten willen zien en daarom cruciale stappen overslaan in het proces. Bij machine learning kunnen we grofweg zes stappen onderscheiden:

  1. Stel een onderzoeksgebied vast
  2. Verzamel de data
  3. Schoon de data op
  4. Ga aan de slag met feature engineering
  5. Definieer een model
  6. Train, test het model en voorspel de uitkomst

Het vaststellen en verzamelen van data kunnen veel bedrijven nog wel. Maar bij ‘feature engineering’ lopen veel bedrijven vast. Dat brengt ons bij de tweede valkuil...

#2 Steek tijd in feature engineering

Feature engineering is een moeilijke term voor het sorteren en het in context plaatsen van bepaalde data. Wilt u een goed model bouwen? Dan zult u, na het vaststellen van het onderzoeksgebied en het verzamelen en opschonen van de data, aan de slag moeten met ‘feature engineering’.

Wilt u bijvoorbeeld klantgedrag voorspellen? Dan is transactionele data (iemand heeft iets op een bepaald tijdstip gekocht) niet zo relevant. Om patronen te herkennen, is het interessanter om te weten hoeveel transacties er zijn geweest, wat de omzet was in een bepaalde periode of het omzetverschil vergelijken tussen twee periodes. 

U leest het al: om dit soort data te sorteren en in een context te kunnen plaatsen, heeft u wel kennis nodig van het terrein dat u gaat onderzoeken. In het vakgebied van machine learning spreken we ook wel over ‘domeinkennis’. Gaat u een economisch model maken? Dan moet u wel experts betrekken die betekenis kunnen geven aan bepaalde economisch factoren. 

Als er data ontbreekt, kunt u met deze domeinkennis beter bepalen of dit cruciale data is. Ook kunt u de uitkomsten veel beter interpreteren, zoals of er een fout zit in het model, of het toeval is, of dat de resultaten echt kloppen. 

#3 Stuur resultaten bij met een policy layer

Ook aan de andere kant van het model wilt u de domeinkennis gebruiken om de uitkomsten te controleren. U kunt dit proces dus zien als een soort sandwich: aan de ene kant heeft u de features die u in de black box (het machine learning model) stopt en aan de andere kant controleert u de uitkomst vervolgens door middel van de ‘policy layer’.

Deze policy layer kunt u zien als een vangrails of noodrem: het zijn voorwaarden die in alle gevallen gelden, los van wat andere variabelen zeggen. Als een bedrijf failliet gaat, zal de Graydon Rating bijvoorbeeld nooit een goede score weergeven. Met een policy layer bouw je dus als het ware een stukje ‘gezond verstand’ in bij het model. Vervolgens wordt dit onderdeel van het geautomatiseerde proces.

#4 Doe een sanity check

Nadat er resultaten uit het model gerold zijn, kunt u een ‘sanity check’ uitvoeren. Dit is dus geen onderdeel van het geautomatiseerde proces meer. U voert deze check uit om te controleren of de gedachten van het machine learning model nog steeds de beoogde intuïtie reflecteert. Anders gezegd, of de uitkomsten logischerwijs in lijn liggen met de gedachtegang die in het model is gestopt. Volgt de voorspelling een herkenbaar patroon?

Deze check kunt u dus af en toe naderhand uitvoeren, waarbij u de features/domeinkennis die u in het begin van het model heeft toegepast kunt gebruiken.

#5 Pas de juiste dataselectie toe

Data en wat u met deze data doet is minstens net zo cruciaal voor correcte uitkomsten en voorspellingen. Hoewel het natuurlijk super interessant is om direct alles te testen wat een machine learning model kan, zal het moeilijk zijn om te kijken waar het mis gaat als het model erg complex is. Begin daarom altijd met een bescheiden dataset. Maar hoe weet u nou welke data geschikt is? Een aantal vuistregels bij de dataselectie:

  • Zoek niet te ver. Hoe dichter de data bij het ‘gewenste gedrag’ staat, des te beter. Ter illustratie: als u het koopgedrag wilt onderzoeken, is het interessanter om data te gebruiken die iets zegt over hoe recent iemand iets heeft gekocht, dan bijvoorbeeld data over iemands leeftijd of welke auto iemand rijdt. 
  • Bepaal de invloed. Begin ook met data waarvan u vermoedt dat deze variabele de meeste invloed heeft op de uitkomst. Maak een prioriteitenlijst van alle mogelijke variabelen en stem met het team welke de meeste invloed zullen hebben. 
  • Test de dataset. Start met het testen van deze dataset. Komt er niets uit? Dan is het ofwel niet te voorspellen, ofwel er is iets mis met uw data. Breid dus aan de hand hiervan uit.
  • Beperk historische data. Haal bovendien niet alle historische data erbij. Denk vooraf goed na hoever het daadwerkelijk noodzakelijk is om terug te gaan in de tijd. Veel historische data gebruiken kost onnodig veel tijd en geld.
  • Test het model. Wanneer het model eenmaal staat, is het belangrijk om het model meerdere keren te testen en te gebruiken. Zo wordt het model steeds beter. 
  • Wat is het doel? En last but not least: denk goed na wat u precies probeert te voorspellen. Definieer een duidelijk doel en hou hier de focus op. 

Nog steeds in de driver's seat

Veel bedrijven zijn bij kunstmatige intelligentie bang dat ze de volledige controle verliezen. Dat hun processen en bedrijfsbeslissingen worden overgenomen door magische kunstmatige modellen en onzichtbare processen die ze niet kunnen duiden. Maar machine learning AI is geen magie. Het zijn datagedreven modellen, in elkaar gezet door technici en specialisten met domeinkennis. Met de juiste domeinkennis, feature engineering en dataselectie blijft u dus in de driver's seat.