RGS LabelMaker – “supervised learning”

In de wereld van kunstmatige intelligentie spreekt men wel over supervised of unsupervised lerende algoritmes. Het onderscheidende karakter is dat je het ‘systeem’, bijvoorbeeld een neuraal netwerk in de eerste situatie helpt door hem data te geven waarvan we weten wat de uitkomst zou moeten zijn. Dus als ik een neuraal netwerk wil bouwen dat foto’s van poezen kan herkennen, geef ik dit systeem 50.000 foto’s en vertel ik erbij dat dit foto’s van poezen zijn. Op basis daarvan kun je het systeem trainen om poezenfoto’s te herkennen. Vervolgens test je het systeem door hem nog eens een berg foto’s te geven maar zonder te verklappen wat de poezenfoto’s zijn. En dan maar kijken hoe goed de training heeft gewerkt.

Zo hebben we het ook gedaan met onze RGS LabelMaker. In eerste instantie hebben we het algoritme gemaakt op basis ‘common sense’. En laat je niet misleiden door de term algoritme -volgens wikipedia is dit een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leidt.

In ons geval is hier weinig hogere wiskunde aan. Maar het moet wel getraind worden. Nadat het enige tijd in gebruik is geweest, hebben we de instructies opnieuw tegen het licht gehouden. We hebben het zeg maar opnieuw getraind. Dit hebben we als volgt gedaan:

  1. We hebben een dataset van ongeveer 21.000 rekeningen met gevalideerde RGS labels gegenereerd.
  2. Vervolgens hebben we gekeken welk RGS label door het oorspronkelijke script was voor gesteld
  3. Dit label hebben we vergeleken met het label dat de gebruiker (met kennis van de betreffende klant) heeft bepaald
  4. De afwijkingen die vaak voor kwamen, zijn op oorzaak onderzocht.
  5. Daar waar duidelijk was dat ons script, ongeacht de klantsituatie, onjuiste output zou leveren, hebben we dit aangepast.

Vervolgens hebben we het nieuwe script op dezelfde dataset los gelaten. Dit resulteerde in een verbetering van ongeveer 5%. Dat lijkt niet veel maar als je 100.000 grootboekrekeningen moet voorzien van RGS labels, scheelt het dus een hoop klikken.

Nou is het goed gebruik om een dataset voor een operatie als deze te splitsen in een trainingset en een testset. Het risico bestaat dat je anders het model teveel baseert op dataset die je hebt maar deze deze niet of minder goed werkt voor andere datasets (het zgn: ‘overfitting’). Omdat we in ons geval mensen inzetten om de beoordeling te doen, leek ons dit niet nodig. Inmiddels is dit bevestigd door het gebruik van het nieuwe script.

Het nieuwe script in productie genomen en is dus voor alle gebruikers van de RGS LabelMaker beschikbaar.

We bedanken overigens DRV Accountants & Adviseurs – zij waren zo vriendelijk om van ongeveer 80 administraties de rekeningen en gevalideerde RGS labels beschikbaar te stellen voor deze exercitie.