Nieuws, updates en meer

Machine learning simpel uitgelegd

Ik moet iets bekennen. Ik had geen idee hoe machine learning werkte. Natuurlijk, dat straks 'de robots ons werk komen doen', dat Google alles van ons weet en dat iedere zichzelf respecterende startup een grensverleggend algoritme heeft, dat is algemeen bekend. Ook bij mij. Natuurlijk. Ik leef niet onder een steen. Maar hoe het precies werkt, dat was voor mij een raadsel.

Gelukkig weten anderen binnen WijControlerenJeData.nl dat wel. Denk bijvoorbeeld aan onze WKR-controle op basis van machine learning (waarmee een model beoordeelt of bepaalde boekingen in de juiste fiscale categorie vallen). Omdat het een beetje gênant is om als mede-oprichter van een bedrijf niet te snappen hoe je nieuwste producten 'onder de motorkap' werken, heb ik me laten bijpraten over de wondere wereld die 'machine learning" heet. Onder het motto: "je begrijpt het pas, als je het kunt uitleggen", maak ik je graag deelgenoot van mijn opgedane kennis.

Wat is machine learning?

Voor dat we beginnen: laten we het simpel houden. Zodat ik het snap en jij hopelijk ook. Als je de verschillen wil weten tussen genetische algoritmen, neurale netwerken en support vector machines, sluit dan nu je browser en schrijf je in voor de bachelor Cognitive Science and Artificial Intelligence bij de Universiteit Tilburg. Heb je geen tijd of zin om er een hele studie van te maken, lees dan verder.

Kort door de bocht leren mensen door ervaringen uit het verleden. Machines 'leren' normaal gesproken door vooraf gegeven instructies (programmeercode). Machine learning is simpel gezegd een combinatie van beide technieken. Pin me niet vast op een officiële definitie, maar voor mij is machine learning: het programmeren van een machine om te leren van ervaringen.

Wat kun je met machine learning?

Machine learning wordt veel gebruikt om data in te delen in bepaalde categorieën. Zelfrijdende auto's gebruiken machine learning om zelf in te kunnen schatten of ze moeten remmen, bijsturen of gas moeten geven. Maar het kan ook iets heel simpels zijn. Stel je hebt 50 pasfoto's van mannen met baarden en 50 pasfoto's van vrouwen. Je wil dat je software de foto's indeelt naar geslacht. Dan kun je programmeren dat alle mensen met een baard, een man zijn. Dat kan met machine learning, maar is niet per se nodig. In je dataset is alles met baard een man en alles zonder baard een vrouw. Die code kun je zelf ook wel schrijven.

Het punt is, hoe complexer bepaalde beslissingen worden, hoe lastiger het is voor een programmeur om op voorhand alle routes te programmeren. Als je van mijn leeftijd bent, ben je vast ook groot geworden met het spel 'Wie is het?'. Op basis van gesloten vragen moet je zo snel mogelijk raden welk van de 24 figuurtjes je tegenstander in zijn hand heeft. Sarah lijkt in dat spel verdraaid veel op Anita. Het zouden zussen kunnen zijn. Wil je zeker weten dat het Sarah is, dan zoek je dus een vrouw, met bruine ogen, een oorbel, een hoed en een bril. Dat zijn vijf voorwaarden om de juiste keuze te maken uit 24 mogelijkheden. Voor het uit elkaar houden van de tweelingbroertjes onder de parasol, moet je nog meer vragen stellen.

Als het gaat om het voorspellen van het kijkgedrag van miljoenen abonnees van Netflix, dan gaat je dat zonder machine learning nooit lukken. Er zijn simpelweg te veel variabelen om als mens te kunnen overzien. Stel dat je een model wilt bouwen om verzuim te voorspellen. Een verzuim-voorspeller op basis van machine learning kan veel geavanceerder voorspellen of iemand gaat verzuimen, dan ik als mens op voorhand kan bedenken. Dat gaat veel verder dan een handjevol aannames dat bijvoorbeeld mensen met jonge kinderen zich gemiddeld gezien vaker een dagje ziek melden, omdat ze in de knoop zitten met de opvang.

Hoe werkt machine learning?

Je kunt op allerlei manieren een machine learning model ontwikkelen. In de basis is het zo dat machine learning zoekt naar statistische patronen. Vaak wordt een eerste model handmatig ontwikkeld en wordt het model vervolgens 'getraind' op basis van data. Na voldoende training is het het programma en niet de programmeur dat die patronen identificeert en daarmee het model verfijnt, op basis waarvan toekomstige data kan worden ingedeeld.

Op hoofdlijnen worden de volgende stappen doorlopen:

  1. Data wordt verzameld. Kort door de bocht, hoe meer data beschikbaar is, hoe verfijnder het model gemaakt kan worden. Voor de ontwikkeling van onze WKR-controle hebben we bijvoorbeeld gegevens gebruikt van vier grote organisaties.
  2. De verzamelde data wordt geprepareerd. Bij het prepareren van de data haal je, in het begin handmatig, eventuele fouten uit de data. Juist omdat we voor de ontwikkeling van onze WKR-controle gegevens gebruikt hebben van vier organisaties, valt het op als binnen één organisatie relatief vaak afwijkend wordt geboekt.
  3. Op basis van de data wordt handmatig een model ontwikkeld. Daarvoor doet de programmeur bepaalde aannames over welke data in welke categorieën valt.
  4. Het model wordt vervolgens op basis van de geprepareerde data getraind. In de praktijk wordt vaak 80% van de data gebruikt om het model te trainen. 20% van de data wordt achter de hand gehouden om de werking van het model op een later moment te kunnen toetsen.
  5. De uitkomsten van het getrainde model worden getoetst. Bij de ontwikkeling van onze WKR-controle hebben we de uitkomsten van ons model vergeleken met de indeling zoals die gemaakt zou zijn door een fiscalist.
  6. Op basis van de uitkomsten van die toetsing, worden de parameters in het model aangepast.
  7. De stappen 3 tot en met 6 worden op enig moment geautomatiseerd doorlopen. Het model leert steeds meer, naarmate er meer data verwerkt wordt.

Meer weten over machine learning?

Als je het interessant vindt om eens van gedachten te wisselen over dit onderwerp, omdat ik het helemaal verkeerd zie, of omdat ik je ogen geopend heb, neem dan gerust contact op. Als ik je vragen niet kan beantwoorden, ken ik wel een paar mensen binnen WijControlerenJeData.nl die dat wel kunnen. Oh ja, wil je een keer een zelflerend model in actie zien? Share of like dit artikel dan. Dat vinden ze fijn, die zelflerende modellen.

Welkom bij
WijControlerenJedata.nl

Voordat je verder gaat, vragen we je akkoord te gaan met onze Algemene voorwaarden en onze Cookies.

Ik ga niet akkoord Ik ga akkoord

Controleren javascript ondersteuning

Voor een optimale gebruikerservaring, maakt deze website intensief gebruik van javascript.

Als deze tekst niet snel wordt vervangen, ondersteunt uw browser GEEN javascript. Schakel javascript in uw browser in of gebruik een andere browser.