Machine-Learning

Succesvol aan de slag met ML en AI

Tijdens de AI EXPO Europe kwamen de knapste koppen van onder andere ABN AMRO, KLM, TomTom, ING en Shell bijeen om te praten over hun ervaringen en voortgang op het gebied van Data science, Machine Learning en Artificial Intelligence. Vragen die aan bod kwamen waren: Hoe start je een ML-project? Wat moet er gebeuren om een dataproject te laten slagen? Hoe maken we de uitkomsten inzichtelijk voor de eindgebruiker? HROffice was aanwezig en wij willen graag wat belangrijke inzichten met jullie delen.

Hoe zet je op de juiste manier een machine learning project op?

Voordat je aan een dataproject begint, zijn er een aantal vragen die je jezelf moet stellen. Deze zijn anders voor elke situatie maar zorgen ervoor dat je tot de kern van je probleem komt. Dit is het beste verwoord door Pascha Iljin van AkzoNobel. Hij vertelde dat hij altijd vijf vragen stelt voordat hij aan de slag gaat.

  1. Waarom wil je kunnen voorspellen?
  2. Waarom wil je de toekomst beter begrijpen?
  3. Waarom zou dit je helpen?
  4. Waarom heb/kan je dit nu niet?
  5. Waarom waren je beste pogingen niet goed genoeg?

De eerste twee zijn ontworpen om de eerste high level doelstellingen uit te vragen. Tijdens de ontwikkeling van ons e-recruitmentplatform GoToMyJob was het antwoord hierop dat wij de recruiter in staat wilden stellen om op een laagdrempelige manier aan predictive recruitment te doen.

De derde vraag gaat in op de echte kern van het doel. Wat wil je eigenlijk bereiken en is hier echt een ML model voor nodig? Dit is één van de belangrijkste vragen. Hier komt namelijk in naar voren wat er met de voorspellingen gedaan gaat worden. Wij gebruiken ons voorspellend ML model bijvoorbeeld om onze campagnes te optimaliseren en ervoor te zorgen dat we precies genoeg kandidaten kunnen vinden. Op deze manier krijg je niet te veel en niet te weinig kandidaten, wat de efficiëntie en time to hire ten goede komt.
De laatste twee vragen zijn de confronterende vragen. Deze vragen leggen namelijk de zwakke punten van het bedrijf bloot. Soms is het zo dat er ooit iemand in het bedrijf een ingewikkeld systeem bedacht heeft maar ondertussen het bedrijf verlaten heeft en nu niemand meer weet hoe het systeem werkt. Vaak is het echter zo dat de kennis gewoonweg ontbreekt om de datastromen te koppelen en op een uniforme en duidelijke manier te presenteren.

Wat zijn de benodigdheden voor een ML project?

Als al deze informatie vergaard is, kan je gaan nadenken over wat je nodig hebt om het project te laten slagen. Er zijn vier benodigdheden voor een succesvol predictive model:

De juiste mensen
Elk bedrijf dat iets met ML of AI wil doen, móet een data scientist / statisticus in dienst hebben. Zonder deze mensen is het vrijwel onmogelijk om een adequaat model in elkaar zetten. Een bedrijf dat claimt dat het aan ML en AI doet maar deze mensen niet in dienst heeft, kan je helaas niet geloven op hun blauwe ogen.

De juiste tooling
Programmeertalen zoals Python of R zijn onmisbaar voor ML en AI.

Toegang tot data van goede kwaliteit
Slechte data staat gelijk aan slechte voorspellingen. De basis van elk model is betrouwbare data en hoewel ML met ruwere data kan werken dan ‘normale’ statistische modellen, blijft het zo dat een manke oude ezel nooit een vliegende unicorn op de regenboog zal worden.

Een proces framework waar het modelleren geautomatiseerd kan worden
Om ervoor te zorgen dat iedereen het model kan gebruiken moet het zo simpel mogelijk zijn en geïntegreerd worden in de workflow van de eindgebruiker.

Machine learning

Het data science proces:

1. Investigeren
Elk model heeft een goede fundering nodig om op te bouwen. Deze fundering komt voort uit goede metingen en een goede interpretatie van deze metingen. Vaak zijn de eerste twee stappen al van enorme waarde omdat deze je volledig inzicht geven in de processen van een bedrijf. Hier kan je vervolgens rapportages van draaien en je efficiëntie benchmarken. Voorbeelden hiervan zijn het accuraat meten waar de kandidaten vandaan komen en het goed meten wat de doorlooptijd is van het opsturen van een kandidaatssollicitatie tot aan het moment dat de recruiter hierop reageert.

2. Interpreteren
Voorts als deze metingen goed lopen en de slechte data eruit gefilterd zijn, kan men beginnen met het daadwerkelijke modelleren. In dit stadium ga je de meest succesvolle Machine Learning modellen af en vergelijk je ze op verschillende aspecten. Elk model kan je op tientallen manieren ‘trainen’ en het is hier dus van essentieel belang dat je weet wat je doet. Er zijn verschillende maatstaven en manieren waarop je een model kan beoordelen en elke methode heeft zijn voor- en nadelen. Tijdens het modelleren zit je in een tweestrijd: je wilt het model zo volledig mogelijk maken, maar ook ervoor zorgen dat het model makkelijk te interpreteren is en blijft. Hoe meer input je levert, hoe beter het model. Aan de andere kant wordt het model ook complexer en moeilijker te begrijpen.

3. Modelleren
Het interpreteren van de uitkomsten en het optimaal instellen van de modellen is iets waar een data scientist voor leeft en waar haar of zijn hart sneller van gaat kloppen. Ik heb zelf voor Adver-Online meer dan zeven verschillende Machine Learning modellen getraind en een aantal computers dag en nacht laten trainen. Neurale netwerken, Random forest, Bagging, Boosting, Extreme boosting, Support vector machines of GAM, alles is de revue gepasseerd in de zoektocht naar het perfecte model.

4. Automatiseren
Omdat elke situatie anders is, kun je moeilijk van tevoren weten welk model het beste werkt bij welke type data. Er zijn ruwe richtlijnen, maar uiteindelijk zal je je model moeten vinden door trial and error. Voor ons kwam ik er uiteindelijk achter dat XGBoost het beste werkt. Nadat het model gemaakt is, kan het proces geautomatiseerd worden. Hierbij worden de nieuwe metingen continu aan de datapool toegevoegd en wordt het model automatisch periodiek opnieuw getraind.

Wat is de take home message?

Rome was niet in één dag gebouwd, dus een ML-model ook niet. Dit soort projecten duren maanden en ongeveer 20% van de projecten haalt het daadwerkelijk tot productie. Dat wil niet zeggen dat gefaalde projecten geen waarde hebben. De reis is net zo belangrijk als de bestemming. Gaandeweg worden inzichten gecreëerd waar iedereen in het bedrijf wat aan heeft. Het belangrijkste is dat je het simpel houdt. Een te ingewikkeld model kan heel goed voorspellen maar levert geen inzichten op, kan men niet op sturen en is te moeilijk te onderhouden als iemand uitvalt. Keep it simple!