Wat is machine learning?
Machine learning, machineleren in het Nederlands, is een vorm van kunstmatige intelligentie die zich bezighoudt met de ontwikkeling van algoritmes en technieken waarmee computers kunnen leren. Het gebruik van machine learning door bedrijven neemt wereldwijd explosief toe. Als je vertrouwd wil raken met de basisbegrippen van machine learning en het wil gebruiken om praktische taken uit te voeren, dan is dit boek Machine learning voor Dummies een fijne handleiding. Je leert hierin hoe dagelijkse activiteiten worden aangedreven door machine learning en je krijgt inzicht in de programmeertalen en tools die je nodig hebt. Of je nu meer belangstelling hebt voor de wiskunde achter machine learning, of dat je bezorgd bent over kunstmatige intelligentie, dit boek maakt het gemakkelijker om machine learning naadloos te begrijpen en te implementeren.
John Paul Mueller is auteur, redacteur en consultant. Hij heeft meer dan honderd boeken en meer dan 300 artikelen geproduceerd. Luca Massaron is een datawetenschapper gespecialiseerd in statistische analyse en machine learning.
Zo werkt het
Machine learning (ML) is een subveld van kunstmatige intelligentie (AI) dat algoritmen traint om te leren van data zonder expliciet geprogrammeerd te worden. Met andere woorden, ML stelt computers en machines in staat om hun prestaties op een taak in de loop van de tijd te verbeteren, op basis van de data die ze ontvangen.
- Training: Je voert in een algoritme een grote hoeveelheid data in, bekend als de “trainingsset”. Deze data worden gelabeld of geannoteerd, wat betekent dat elk voorbeeld een bijbehorend antwoord of uitkomst heeft.
- Gelabelde data worden gebruikt bij supervised learning, waarbij elk datapunt een bijbehorend label heeft (bijvoorbeeld een afbeelding van een kat die gelabeld is als “kat”).
- Ongelabelde data worden gebruikt bij unsupervised learning, waar het doel is om patronen in data te vinden zonder vooraf gedefinieerde labels.
- Gedeeltelijk gelabelde data worden, zoals je kunt verwachten, gebruikt bij semi-supervised learning, een combinatie van supervised en unsupervised learning.
- Dan heb je nog de data uit sequentiële of tijdreeksen. Dit type data wordt gebruikt bij reinforcement learning of specifieke toepassingen zoals voorspellingen van aandelenkoersen. Ik heb geprobeerd met een (eenvoudig) algoritme een tijdreeks te gebruiken bij het maken van weersvoorspellingen. Dit is zonder veel succes natuurlijk: je kunt het weer namelijk niet goed bepalen door te kijken naar hoe het weer is geweest. daarvoor heb je andere data nodig (temperatuur, vochtigheid, wind, druk, e.d.) op heel veel andere plekken in de wereld.
- Het voorbereiden van data omvat het opschonen, normaliseren en soms uitbreiden van de data om ervoor te zorgen dat het algoritme effectief kan leren. Je haalt de ruis uit de data of je verwijdert uitschieters waarvan je weet dat deze niet kloppen (zoals geboortejaar voor 1910).
- Model: Het algoritme gebruikt deze trainingsdata om een model te maken, wat in wezen een wiskundige representatie van patronen in de data is. Bijvoorbeeld:
- Lineaire regressie: Modellen van relaties tussen variabelen als een rechte lijn.
- Neurale netwerken: Nabootsen van de structuur van het menselijk brein om complexe relaties te modelleren.
- Modellen hebben parameters (gewichten, biases) en hyperparameters (bijvoorbeeld de leersnelheid, het aantal lagen in een neuraal netwerk).
- Inferentie: Zodra het model is getraind, kun je het gebruiken om voorspellingen te doen op nieuwe, ongeziene data (bekend als de “testset”). Dit proces wordt inferentie of voorspelling genoemd. Voorbeelden:
- Een spamdetectiemodel classificeert e-mails als “spam” of “geen spam”.
- Een weersvoorspellingsmodel voorspelt temperaturen op basis van historische gegevens.
Kenmerken van machine learning-algoritmen:
- Automatische parameterafstemming:
- Algoritmen gebruiken optimalisatietechnieken zoals gradient descent om de fout te minimaliseren en parameters aan te passen tijdens het trainen.
- Het nemen van beslissingen:
- Algoritmen leren patronen in data en passen deze toe om beslissingen te nemen. Bijvoorbeeld: een aanbevelingssysteem suggereert films op basis van gebruikersvoorkeuren.
- Het verbeteren van prestaties:
- Modellen verbeteren naarmate ze meer data (tot op zekere hoogte) en betere datakwaliteit krijgen.
- Technieken zoals cross-validatie en regularisatie zorgen voor betere generalisatie.
Uitdagingen in machine learning:
- Datakwaliteit: Slechte data leidt tot slechte modellen.
- Overfitting: Het model presteert goed op trainingsdata maar slecht op nieuwe data.
- Bias en eerlijkheid: Algoritmen kunnen vooroordelen in de data voortzetten.
- Rekenkracht: Grote datasets en complexe modellen vereisen aanzienlijke middelen.
Recensie
Machine learning voor dummies schetst allereerst de context voor machine learning en dat is kunstmatige intelligentie (AI): de auteurs geven in hun visie aan wat zij vinden van AI en de gevaren ervan. Ze spreken hun verwachting uit of machine learning in staat is om het intelligentie niveau van mensen te evenaren. Het boek is uitgegeven net voordat de hype van generatieve AI ontstond. Ik vind dat generatieve AI op sommige toepassingsgebieden, zoals de taalmodellen van chatgpt of ollama inmiddels laten zien, in staat is om intelligente en samenhangende teksten te produceren. Maar vraag chatgpt niet om een rekensom op te lossen. Daarvoor is het taalmodel niet gemaakt.
Met behulp van de stukjes script geschreven in Python en R kun je zelf aan de slag met machine learning algoritmen. De schrijvers laten de gelegenheid niet voorbij gaan om de wiskunde erbij te pakken. Dit doen ze op een aantrekkelijke en laagdrempelige manier. Zij sluiten het boek af met vijf hoofdstukken over de toepassing van machine learning op echte problemen zoals het classificeren van afbeeldingen of het doen van aanbevelingen voor boeken of films.
Het boek leest als een machinevertaling uit het Engels. Echt lekker Nederlands is het niet. De Engelse versie zou zomaar beter kunnen lezen maar heb ik niet getest. Het boek is te koop in de boekhandel.
PS: Ik heb in 2021 een cursus gevolgd aan de Schoof of Data Science en heb daarover een blog geschreven met een beschrijving van enkele algoritmen. Daarin ga ik meer in op de verschillende algoritmen van machine learning.