Artikel
Geschreven door Martijn Roos
Posted on 14-06-2018

Vijf tips voor het maken van een effectief machine learning algoritme

430 keer gelezen

Machine learning is sterk in opkomst. Steeds meer ondernemingen ontdekken de mogelijkheden van zelflerende computers die nauwkeurige voorspellingen doen op basis van data, zonder dat ze expliciet geprogrammeerd zijn. Retailers zetten machine learning bijvoorbeeld in om klanten passende aanbevelingen te doen en banken gebruiken machine learning om fraude op te sporen. Hoe werkt machine learning? Welke inzichten biedt het? En hoe maakt u een effectief machine learning algoritme? Vijf tips om u op weg te helpen.

Wat is machine learning?

Bij machine learning worden patronen ontdekt in grote hoeveelheden data. Die patronen vormen de basis voor een voorspellend algoritme. Door steeds nieuwe data aan het algoritme toe te voegen, blijft het model leren.

Declaratieve en niet-declaratieve modellen

Er zijn twee modellen van kunstmatige intelligentie te onderscheiden die zowel los van elkaar als gecombineerd kunnen worden gebruikt:

  • Sterke of declaratieve kunstmatige intelligentie: automatisering gebouwd met componenten op basis van business rules die zijn ontworpen door mensen, vaak gebaseerd op de als-dan-gedachte. Neem een Netflix-algoritme: ALS iemand jonger is dan 16 jaar, DAN heeft hij geen toegang tot 16+ films.
  • Zachte of niet-declaratieve kunstmatige intelligentie: het algoritmisch model haalt zelf kennis uit de data. De bouwstenen van de input zijn gedefinieerd, maar de machine zoekt de regels uit. Dit werkt als een evolutie: veranderlijkheid wordt meegenomen in het model en er hoeft minder menselijke effort in gestoken te worden. Een voorbeeld: Netflix beveelt films aan op basis van uw kijkgedrag.

Gecombineerde modellen

Bovenstaande modellen kunnen ook gecombineerd worden gebruikt, bijvoorbeeld in de relatie tussen de PD-score (faillissementsscore) en de kredietlimiet in een kredietinformatierapport. Van het ene bedrijf weten we nu eenmaal meer dan van het andere. Ingebouwde business rules zorgen ervoor dat de impact van de PD-score en de kredietlimiet met elkaar in verhouding zijn. Als bedrijf A 10 van de 20 keer 60 dagen te laat betaalt, zal dit ook meer impact hebben dan wanneer bedrijf B 1 van de 2 keer 60 dagen te laat betaalt, ondanks dat het bedrijfsprofiel (leeftijd, omvang, branche) identiek is.

Vijf tips voor een effectief algoritme

  1. Bepaal en controleer wat u wilt voorspellen
    Bij het maken van een algoritme voor kunstmatige intelligentie wordt onderscheid gemaakt tussen onafhankelijke variabelen en afhankelijke variabelen. De afhankelijke variabele is wat u wilt voorspellen; de onafhankelijke variabele is de input die u een model geeft om de afhankelijke variabele mee te voorspellen. Als u heeft bepaald wat u wilt voorspellen, is het belangrijk om de voorspellende waarde te controleren. Om bijvoorbeeld te voorspellen of een bedrijf failliet gaat, zult u moeten controleren of er daadwerkelijk sprake is geweest van een faillissement en niet van een opheffing. Zie ook tip 4.
     
  2. Gebruik enkel historische data als input
    Een veelgemaakte beginnersfout is het hanteren van een onafhankelijke variabele als input voor een model, terwijl de benodigde data nog niet beschikbaar is. Om faillissementen te voorspellen, kunt u bijvoorbeeld de betaalgegevens van 2017 meenemen. Maar als u deze input vervolgens toepast op de data van 2018 werkt het model niet, omdat de betaalgegevens over 2018 nog niet bekend zijn. Gebruik dus altijd historische data als onafhankelijke variabele. Alleen dan kunt u betrouwbare voorspellingen doen over de toekomst.
     
  3. Voorkom ‘spurieuze correlaties’
    Gebruik geen tegen-intuïtieve onafhankelijke variabelen als input in een model. Dit kan tot irrelevante uitkomsten leiden, de zogeheten spurieuze correlaties. Zo is er in de Verenigde Staten een hoge correlatie te vinden tussen het aantal faillissementen en het aantal huishoudens met groentetuinen. Denk dus goed na over mogelijke business rules en gebruik op basis van logica relevante onafhankelijke variabelen om spurieuze correlaties te voorkomen.
     
  4. Test-train het algoritme
    Controleer de voorspellende waarde van het model. Splits de data op in een test-set en een trainings-set. Stel op basis van de trainings-set alle variabelen in en bepaal het gewicht dat elke parameter krijgt. Pas dit model vervolgens toe op de test-set. Zijn de resultaten qua accuratesse vergelijkbaar? Dan heeft het model een voorspellende waarde. Vervolgens kunt u de historische stabiliteit van het model toetsen door middel van een retro-analyse: het toepassen van het model op voorgaande jaren. U neemt dus de nieuwste data om het algoritme mee te trainen, omdat het heden het meest representatief is voor de toekomst. Maar het testen van het model kan gerust met historische data.
     
  5. Houd rekening met de context van de trainingsdata
    De onafhankelijke variabele die u een model als input geeft, kan zeer cultuur- en marktafhankelijk zijn. Denk bijvoorbeeld aan een arbeidsbemiddelaar die het selectieproces van sollicitanten automatiseert. Als de trainings-set is gebaseerd op historische menselijke besluitvorming waarin vrouwen gediscrimineerd werden, dan neemt het model deze ongewenste context mee in het bepalen van de doelvariabele (de meest succesvolle kandidaat). Dat betekent dat vrouwen minder snel geselecteerd zullen worden dan mannen. Houd dus rekening met de context en mogelijke bias in de trainingsdata.

Datagedreven inzichten bij Graydon

Door data uit verschillende bronnen op een slimme manier te combineren, ontstaan nieuwe inzichten. Als dataspecialist heeft Graydon jarenlange ervaring met het toepassen van machine learning om voorspellende inzichten te genereren voor bedrijven. Zo kunnen wij in onze kredietrapporten onder meer de opheffingsscore, de groeiscore en de PD-score van ondernemingen berekenen: hoe groot is de kans is dat een bedrijf binnen een jaar failliet gaat? Lees hier meer over bij onze Analytics-oplossingen.

Meer weten?

Dit blog is tot stand gekomen naar aanleiding van een interview met Mark Zwart, Senior Data Scientist bij Graydon. Benieuwd hoe u de juiste data verzamelt, zodat u gericht actie kunt ondernemen om resultaten te verbeteren? Lees ook het blog ‘Zo krijg je bruikbare inzichten over je klanten’.