Tegenwoordig komt machine learning overal voor. Denk bijvoorbeeld aan het online winkelen, het gebruik van sociale media of onderzoek in medicijnen. De term is niet meer weg te denken uit onze maatschappij. Dat komt omdat machine learning en de omliggende technologie zich de laatste jaren snel heeft ontwikkeld. Maar wat is machine learning eigenlijk?
‘Machine learning is het autonoom leren en verbeteren van een machine door middel van data, input en ervaring zonder expliciet geprogrammeerd te zijn. Simpeler gezegd: het leren uit data. Het komt erop neer dat de machine zich zelfstandig kan aanpassen en verbeteren. Een voorbeeld hiervan is een bankieren app. Deze app geeft aan het begin van de maand aan wat waarschijnlijk je uitgaven en inkomsten voor komende maand zijn. Naarmate je langer je bankieren app hebt, des te nauwkeurig het voorspellen van de app zal gaan. Dit is een simpel voorbeeld van machine learning in de praktijk. De computer zal proberen verborgen regels en patronen in (big) data te ontdekken. Vervolgens zal dit de basis vormen voor een nieuw algoritme. Aan de hand hiervan kan de machine inspelen op nieuwe situaties. Algoritmes kan je zien als de motor van machine learning. Ze zijn de basis van het “leren” van data. Om dit effectief te doen zijn er verschillende soorten machine learning algoritmes. Deze zijn op te delen in de volgende 3 methodes:
1. Supervised Learning
Met supervised learning wordt gelabelde data gebruikt om van te leren. Gelabelde data is data of een groep van data die van te voren een correct label hebben met waar ze toe behoren. Bijvoorbeeld wanneer de data een foto van een kat is en het het label “kat” bevat. Op basis van gelabelde data wordt een model opgesteld. Vervolgens kan vanuit dit model nieuwe data goed voorspeld of geclassificeerd worden. Binnen Supervised Learning zijn er 2 subgroepen:
- Regressie: voor het voorspellen van een waarde (getal)
- Classificatie: voor het voorspellen van een categorie (groep)
Voorbeeld Supervised Learning:
Facebook herkent een vriend van jou in een nieuwe foto die je upload en suggereert of je hem wilt taggen. Eerdere foto’s waar je vriend in is getagt (en profielfoto’s) geven de machine het label (de naam van je vriend) en de bijpassende kenmerken (hoe je vriend eruitziet). Op basis van deze data stelt de computer een model op. Wanneer er een nieuwe foto wordt geüpload die voldoet aan diezelfde kenmerken, zal de computer het juiste label erbij passen. Zo herkent Facebook jouw vriend.
Mocht je hier nog meer te weten willen komen over hoe dit precies in zijn werk gaat? Zoek is naar een aantal van deze bekende supervised algoritmes:
- Lineaire regressie
- Lineare Discriminante Analyse
- Support Vector Machines
- Naive Bayes
- K-nearest neighbor algorithm
- Decision Trees
2. Unsupervised Learning
Bij unsupervised learning worden er geen labels gegeven aan de data. Het algoritme bekijkt alle data en zal proberen zelf proberen patronen en structuren erin te ontdekken. De computer plaatst gegevens die sterk met elkaar overeenkomen bij elkaar, dit vormt een nieuwe categorie. Vervolgens zal hij zo alle input verdelen en creëert het verscheidene categorieën. Dit kan nieuwe categorieën of verbanden blootleggen die je er als mens niet uit zou halen. Het gaat hier dus om ongecontroleerd leren, waarbij geen sturing wordt geboden door voorbeelden in te voeren met een gewenste output (gelabelde data). Er zijn 2 types unsupervised learning:
- Clusteren: subgroepen ontdekken in de data (stemgedrag per gender)
- Associëren: regels ontdekken in de data (vrouwen stemmen vaker op vrouwelijke kandidaten)
Voorbeeld Unsupervised Learning:
Na een aantal dagen online shoppen krijg je advertenties van schoenen die bij jouw smaak passen en in jouw maat zijn. Op basis van jouw shopgedrag plaatst het algoritme je in een categorie. Vervolgens krijg jij advertenties die passen bij die categorie. Er is niet van tevoren gelabeld welke personen welke schoenen leuk vinden. Uit jouw data komen patronen naar voren van jouw shopgedrag/ smaak. De computer herkent deze patronen en bepaalt vervolgens dat jij in de categorie valt van personen die geïnteresseerd zijn in die stijl schoenen.
Mocht je hier nog meer willen over willen te weten komen over hoe dit precies in zijn werk gaat? Zoek is naar een aantal van deze bekende unsupervised algoritmes:
- Hiërarchische Clustering
- Principal Component Analysis
- K-means Clustering
- Mixture Models
- Local Outlier Factor
3. Reinforcement Learning
Reinforcement learning lijkt heel erg op het leren aan de hand van ‘Trial & Error’. Het doel hiervan is om systemen optimaal te trainen. Het algoritme werkt door beslissingen te maken die een maximale “beloning” geven en minimale “straf”. Zo kan een machine uiteindelijk complexe beslissingen nemen met een relatief kleine foutmarge. Dit op basis van vorige ervaringen. Het komt erop neer dat de machine leert van de fouten die hij maakt om vervolgens te voorkomen dat die fout nog een keer gemaakt wordt. Toepassingen zijn hierin heel divers, denk aan het optimaal vullen van een magazijn, de kortste weg vinden voor navigatie of patiënten effectiever behandelen.
Voorbeeld Reinforcement Learning:
Jouw nieuwe auto die zelf in de baan blijft. Tijdens het ontwikkelen van de auto leert de computer vanzelf wat goed is (op de baan blijven, niet te hard rijden) en wat hij niet moet doen. Door heel veel herhalen leert de auto wat goed rijgedrag is en wat niet. Wanneer je dit vaak genoeg herhaalt, kan de auto heel nauwkeurig de juiste beslissingen nemen.
Mocht je hier nog meer willen over willen te weten komen over hoe dit precies in zijn werk gaat? Zoek is naar een aantal van deze bekende Reinforcement Learning algoritmes:
- Q-Learning
- Policy Iteration
- State-Action-Reward-State-Action (SARSA)
- Deep Q Network
Conclusie
Dankzij machine learning zijn tegenwoordig een heleboel processen geautomatiseerd en kunnen deze zich ook snel aanpassen aan de continu veranderende omgeving eromheen. Hoe ingewikkeld en uitgebreid machine learning kan worden, de basis blijft bestaan uit de algoritmes. Mocht je na dit artikel geïnteresseerd zijn in machine learning kan je via online cursussen al een goede start maken. Zo bieden websites als Coursera en Datacamp goede introductiecursussen hiervoor aan (Basiskennis in R of Python is hiervoor nodig).