Machine learning (ML) is een manier om software te bouwen die leert van voorbeelden, in plaats van regels te volgen die iemand heeft uitgeschreven. Laat het duizenden e-mails zien die mensen als spam of als gewone mail hebben gemarkeerd, en het ontdekt zelf hoe spam eruitziet. Je komt het tegen in gewone bedrijfssoftware: een boekhoudprogramma dat voorstelt hoe je een banktransactie boekt, of een webshop die producten aanraadt.
Waar komt de term vandaan?
De term gaat meestal terug op Arthur Samuel van IBM, die hem in 1959 gebruikte in de titel van een artikel over een programma voor checkers, een variant van dammen. Zijn programma leerde in 8 tot 10 uur spelen beter dammen dan de man die het had geschreven. Tom Mitchell van Carnegie Mellon University maakte het formeel (2006): een machine leert als ze haar prestatie P bij taak T betrouwbaar verbetert na ervaring E.
Hoe werkt het?
Een model is een formule met instelbare getallen, de parameters. IBM geeft een voorbeeld voor huizenprijzen: prijs = A × woonoppervlak + B × aantal kamers − C × leeftijd + een basisprijs. Training zoekt de waarden van A, B en C die bekende verkoopprijzen het best voorspellen. Een loss function meet de fout, en een methode als gradient descent past de parameters stap voor stap aan.
Het doel is goede voorspellingen op nieuwe data. De Machine Learning Crash Course van Google houdt daarom een deel van de data apart: een validatieset om versies te vergelijken tijdens de ontwikkeling en een testset voor de eindcontrole, bijvoorbeeld 70% voor training en elk 15% voor validatie en test. Een model dat goed scoort op zijn trainingsdata en slecht op nieuwe data, is overfit. Deep learning, met neurale netwerken van veel lagen, is een tak van machine learning.
Welke soorten zijn er?
IBM onderscheidt drie manieren van leren:
- Supervised learning: bij elk voorbeeld hoort het juiste antwoord, zoals "spam" of een verkoopprijs. Het model voorspelt een categorie of een getal (classificatie of regressie).
- Unsupervised learning: de voorbeelden hebben geen antwoorden, en het model vindt zelf groepen of verbanden, wat wordt gebruikt voor marktsegmentatie en productaanbevelingen.
- Reinforcement learning: het model probeert acties uit en krijgt beloningen of straffen. Google noemt AlphaGo, dat zo Go leerde spelen.
Grote taalmodellen leren vooral via self-supervised learning, dat IBM als variant van supervised learning ziet: woorden in een tekst worden verborgen, en het model voorspelt ze.
Waar gaat het mis?
- Zonder data is het het verkeerde gereedschap. Regel 1 van Googles Rules of Machine Learning van Martin Zinkevich is dat je gerust een product zonder machine learning kunt lanceren. Als machine learning je 100% winst zou opleveren, schrijft hij, dan brengt een eenvoudige vuistregel je al 50% van de weg.
- Het model is een klein deel van het systeem. Google-engineers Sculley e.a. (2015) stelden vast dat de ML-code maar een klein deel is van echte ML-systemen. Zo'n systeem bouwen gaat relatief snel en goedkoop, schrijven ze, en onderhouden is moeilijk en duur, onder meer omdat de wereld eromheen blijft veranderen. Dat onderhoud is het vakgebied van MLOps.
- Een model neemt de patronen in zijn data over, ook menselijke vooroordelen. Google raadt aan de trainingsdata en de voorspellingen op bias te controleren voordat een model live gaat.
Voorbeeld
In november 2021 voegde het boekhoudpakket Xero voorspellingen met machine learning toe aan het verwerken van banktransacties. Past een transactie bij geen factuur, zelf ingestelde regel of eerdere boeking, dan stelt een model de relatie en de grootboekrekening voor, en de gebruiker klikt op OK om dat over te nemen. Xero legt uit dat het model leerde van miljoenen verwerkte transacties: als veel bedrijven aankopen bij één kantoorleverancier als kantoorapparatuur boeken, leert het dat verband. In de termen van Mitchell is de taak het boeken van banktransacties, de ervaring bestaat uit eerdere boekingen, en de prestatie is hoe vaak een voorstel klopt.
Bronnen
- IBM (Dave Bergmann): What is machine learning?Web
- Google: Machine Learning Crash CourseWeb
- Arthur L. Samuel: Some Studies in Machine Learning Using the Game of Checkers (IBM Journal, 1959)Web
- Tom M. Mitchell: The Discipline of Machine Learning (Carnegie Mellon University, 2006)Web
- Sculley et al. (Google): Hidden Technical Debt in Machine Learning Systems (NeurIPS 2015)Web
- Martin Zinkevich (Google): Rules of Machine Learning, best practices for ML engineeringWeb
