Machines kunnen tegenwoordig op zeer geavanceerde manieren leren. Computers verwerken miljarden gegevens om snel complexe patronen te ontdekken en echte problemen op te lossen. Hoe? Door een machine learning model te gebruiken.
Machine learning is een tak van computerwetenschap die een van de hoofddoelen van artificial intelligence (AI) bereikt. Dit is het ontwerpen van systemen die in staat zijn om voor zichzelf te denken terwijl ze menselijke intelligentie en leren simuleren en overtreffen. Deze gids gaat in op de meest gebruikte machine learning modellen die worden gebruikt om computers en AI-systemen te trainen.
Wat is een machine learning model?
Een machine learning model is een computerprogramma dat patronen in training data vindt. Deze patronen worden gebruikt om verwachtingen voor nieuwe data te maken.
Om een model functioneel en nauwkeurig te maken, voeden datawetenschappers het tijdens de training met grote datasets. Een algoritme analyseert de datasets om bepaalde patronen of outputs te vinden, afhankelijk van het doel. Zodra het proces voorbij is, wordt de output van het algoritme geoptimaliseerd tot een computerprogramma. Dit is in principe wat een machine learning model is.
Het model gebruikt vervolgens de gevonden patronen in de trainingsdatasets om specifieke regels en datastructuren te definiëren. Vervolgens gebruikt het deze om nieuwe data te analyseren.
Zo kunnen machine learning modellen objecten zoals verkeerslichten of voetgangers nauwkeurig herkennen. Stel dat je een app wilt ontwikkelen om de gezichtsuitdrukkingen van een gebruiker te analyseren om hun emoties te herkennen. Om het idee uit te voeren, kun je een machine learning model trainen door het foto’s te geven van gezichten met verschillende emoties erop gelabeld. Eenmaal klaar kan de app het model inzetten om de stemming of gevoelens van een gebruiker te bepalen.
Op dezelfde manier kan natuurlijke taalverwerking een model trainen om de bedoeling achter een zin te ontleden en te herkennen.
Machine learning modellen in een notendop:
- Machine learning modellen worden getraind op datasets.
- Het model krijgt een algoritme om over de beschikbare data te redeneren.
- Met behulp van het algoritme haalt het model bepaalde patronen uit de datasets.
- Zodra de training voorbij is, gebruikt het model de “kennis” die het heeft opgedaan tijdens de training op eerdere datasets om verwachtingen te maken.
Merk op dat een model voor machine learning niet hetzelfde is als een machine learning algoritme. Hoewel dit voor de hand liggend klinkt, worden beide termen vaak door elkaar gebruikt, wat bij velen tot verwarring leidt.
Verschil tussen machine learning model en algoritme
Een machine learning algoritme is een wiskundige methode om patronen in een dataset te vinden. Dergelijke algoritmen zijn meestal gebaseerd op calculus, statistiek en lineaire algebra. Enkele veelvoorkomende voorbeelden van machine learning algoritmen zijn:
- Linear Regression
- Logistic Regression
- Decision Tree
- k-Nearest Neighbors (k-NN)
- K-means
Beschouw een machine learning algoritme als elk ander algoritme in informatica.
Een machine learning model is de output van een algoritme nadat het algoritme trainingsdatasets heeft doorlopen. Met andere woorden, een model vertegenwoordigt wat het onderliggende algoritme heeft geleerd. Het bestaat meestal uit modelgegevens en een procedure om patronen te vinden in nieuwe data en verwachtingen te maken.
Kortom, machine learning algoritmen vergemakkelijken een soort automatische programmering, terwijl machine learning modellen het programma vertegenwoordigen.
3 vormen van machinaal leren
Op basis van de gebruikte methode kunnen machine learning algoritmen worden ingedeeld in drie subcategorieën:
- Begeleid leren | Supervised learning
- Leren zonder toezicht | Unsupervised learning
- Versterkend leren | Reinforcement learning
Leren onder toezicht
Leren onder toezicht vereist een zekere mate van menselijk toezicht en hulp. Het proces is afhankelijk van een bekende set invoer- en uitvoergegevens. Het model leert om patronen te identificeren die de input- en outputdata met elkaar verbinden. Vervolgens repliceert het deze modellen om uitkomsten van nieuwe datasets te voorspellen.
Supervised learning is handig voor toepassingen zoals:
- Inventarisoptimalisatie
- Risicofactoren voor ziekten identificeren
- Leningaanvragen evalueren om de risicofactor van een aanvrager te bepalen
- Frauduleuze transacties detecteren
- Voorspellen van koersen van onroerend goed
Niet gesuperviseerd leren
In tegenstelling tot gesuperviseerd leren, vereist unsupervised machine learning geen menselijk toezicht. In plaats daarvan leert het algoritme om data in verschillende klassen in te delen, zodat elke klasse een deel van de data met gemeenschappelijke kenmerken bevat.
Ongesuperviseerd leren komt van pas bij het identificeren van patronen in ruwe datasets of bij het clusteren van vergelijkbare data in groepen. Gebruikelijke toepassingen zijn onder andere:
- Classificeren van klantprofielen op basis van hun aankoop- of consumptiegedrag.
- Inventarisartikelen classificeren op basis van productie- en/of verkoopgegevens.
- Het markeren van associaties in data van klanten (klanten die bijvoorbeeld specifieke soorten kleding hebben gekocht, kunnen geïnteresseerd zijn in specifieke soorten schoenen).
Versterkend leren
Reinforcement learning lijkt een beetje op supervised learning – beide methoden zijn afhankelijk van de feedback die de modellen ontvangen. Bij versterkt leren krijgt het model echter niet voor elke toestand of invoer feedback. Deze aanpak plaatst het model in een spelachtige situatie. Het gebruikt een trial-and-error methode om de gewenste uitkomst te vinden.
Het model krijgt beloningen of straffen afhankelijk van zijn acties. Het doel is om de totale beloning te maximaliseren. Na verloop van tijd wordt het model steeds vaardiger in het nemen van een reeks beslissingen, zelfs in onzekere en complexe omgevingen.
Toepassingen van Reinforcement learning in de praktijk zijn onder andere:
- Het trainen van autonome voertuigen om zelf te rijden en te parkeren zonder tussenkomst van mensen.
- Verkeerslichten dynamisch laten werken om het verkeer te helpen regelen.
De beste machine learning modellen in 2024
Verschillende machine learning modellen maken gebruik van verschillende soorten algoritmen en leermethoden. Daarom kunnen de modellen worden gecategoriseerd op basis van de manier waarop ze leren.
Gecontroleerde machine learning modellen
Classificatie
Classificatie is een voorspellende modelleringstaak. Het gaat om het voorspellen van het type of de klasse van een object binnen een eindig aantal opties (voor een steekproef van invoergegevens).
Classificatie vereist een uitgebreide dataset met instanties van invoer en uitvoer waarvan het onderliggende algoritme leert. Het model gebruikt de trainingsdataset om optimale manieren te vinden om invoergegevens te koppelen aan specifieke labels.
Er zijn twee soorten classificatie bij machine learning – binair en multiklasse. De binaire classificator is geschikt voor problemen met slechts twee mogelijke klassen. Bijvoorbeeld ja/nee, aan/uit. Multiklasse classificeerders zijn het meest geschikt voor problemen met meer dan twee mogelijke klassen.
Doel: Een binaire uitkomst voorspellen.
Use-cases: Classificatie wordt het best gebruikt voor taken zoals taalidentificatie (bijv. Google Translate), fraudedetectie, spamfiltering, sentimentanalyse, handgeschreven tekenherkenning en het zoeken naar documenten.
Voorbeelden van veelgebruikte algoritmen in classificatiemodellen:
- Logistics regression: Een lineair model dat handig is voor het classificeren van binaire data.
- Decision Tree: Deze is gebaseerd op het “if/else”-principe en biedt meer weerstand tegen uitschieters.
- K-Nearest Neighbors (KNN): Een eenvoudig maar tijdrovend model waarin het KNN-algoritme zoekt naar overeenkomsten om nieuwe datapunten te classificeren.
- Naive Bayes: Gebouwd op het statistische model van Bayes.
- Support vector: Wordt vaak gebruikt om zowel binaire als multiklasse datasets te classificeren.
Regressie
Regressiemodellen zijn modellen waarbij het onderliggende algoritme een statistische benadering gebruikt om het verband tussen onafhankelijke variabelen en een afhankelijke variabele (doel) te modelleren. Het wordt vaak gebruikt voor voorspellende modellering waarbij een algoritme continue uitkomsten voorspelt.
Het valt onder supervised learning, waarbij het algoritme leert met inputkenmerken en outputlabels. Het doel is om een verband te leggen tussen de variabelen door te voorspellen hoe veranderingen in de ene variabele de andere beïnvloeden. Je zou het een “best guess” benadering kunnen noemen om voorspellingen te doen op basis van verschillende datasets.
Doel: Het voorspellen van een numerieke waarde.
Use-cases: Voorspellen van koersen van cryptocurrency’s of aandelen, voorspellen van jaarlijkse omzetgroei, enz.
Voorbeelden van veelgebruikte regressiealgoritmen die vandaag de dag worden gebruikt:
- Lineaire regressie: Het meest eenvoudige regressiemodel. Lineaire regressie is het meest geschikt in gevallen waarin de data lineair scheidbaar zijn met weinig tot geen multicollineariteit.
- Nokregressie: Lineaire regressie met L1 regularisatie. Het beste voor het schatten van de coëfficiënten van meervoudige regressiemodellen in een situatie waarin onafhankelijke variabelen sterk gecorreleerd zijn.
- Lasso-regressies: Lineaire regressie met L2 regularisatie. Lasso staat voor Least Absolute Shrinkage and Selection Operator. Het maakt gebruik van een methodologie die zowel variabelenselectie als regularisatie uitvoert. Het doel is om de nauwkeurigheid van de verwachting en de interpreteerbaarheid te verbeteren.
- Supportvectorregressie (SVR): Is gebouwd op een supervised leeralgoritme dat discrete waarden kan voorspellen.
Niet-gesuperviseerde machine learning modellen
Kunstmatige neurale netwerken | Artificial neural networks (ANN’s)
Afhankelijk van hun gebruikssituaties kunnen ANN’s tot de categorie van supervised of unsupervised learning behoren. Bij gesuperviseerd leren staat een ANN onder toezicht van een opvoeder (bijvoorbeeld een datawetenschapper of systeemontwerper). De opvoeder gebruikt zijn kennis van het systeem om het netwerk voor te bereiden met gelabelde data sets.
Bij leren zonder supervisie is een ANN het meest nuttig wanneer het moeilijk of onmogelijk wordt om de trainingsdatasets uit te breiden met klasse-ID’s. Dergelijke situaties doen zich meestal voor wanneer we niet weten hoe we de data moeten gebruiken. Dergelijke situaties doen zich meestal voor wanneer we het systeem niet kennen.
Kunstmatige neurale netwerken, ook bekend als neurale netwerken, zijn ruwweg gemodelleerd naar het menselijk brein. Ze zijn in staat om “machinale waarnemingen” te gebruiken om zintuiglijke input te begrijpen. Elk kunstmatig neuron verbindt zich met vele andere neuronen tot een web-achtig netwerk. De miljoenen neuronen in dit netwerk vormen samen een cognitieve structuur.
Alle data uit de echte wereld, zoals muziek, foto’s, tekst, enz. moeten vertaald worden naar patronen die het algoritme herkent. Deze patronen worden meestal uitgedrukt in getallen en gecodeerd in vectoren. Zodra de training voorbij is, kan een neuraal netwerk enorme hoeveelheden data clusteren en verwerken waar mensen tientallen jaren voor nodig zouden hebben om er enige waarde uit te halen.
Een gemakkelijk herkenbare toepassing van een neuraal netwerk is het zoekalgoritme van Google.
Doel: Clusteren, classificeren, patroonherkenning.
Use-cases: gezichtsherkenning met behulp van ANN, data-intensieve toepassingen, autonome voertuigen, zoekmachines, enz.
Voorbeelden van machine learning modellen die ANN gebruiken:
- Meerlagig perceptron: Een meerlagig perceptron (MLP) is een klasse van een feedforward AMM. Dit is het eenvoudigste type van diepe neurale netwerken en bestaat uit een reeks verbonden lagen. MLP machine learning modellen kunnen een goede pasvorm zijn voor resource-intensieve deep learning architecturen.
- Convolutie Neurale Netwerken: Een Convolutioneel Neuraal Netwerk (ConvNet of CNN) is een ideale visie op machinaal leren die “computervisie” mogelijk maakt. Geef het een reeks visuele data en het CNN algoritme haalt automatisch de gewenste input om een taak te voltooien (bijvoorbeeld gezichtsherkenning).
- Recurrente neurale netwerken (RNN): recurrente neurale netwerken (RNN) maken gebruik van sequentiële gegevensinvoer om problemen met tijdreeksen van sequentiële invoergegevens aan te pakken. RNN modellen worden het meest gebruikt in natuurlijke taalverwerking omdat ze data met een variabele invoerlengte kunnen verwerken.
Clustering
Clusteren is een methodologie in machinaal leren waarbij het model wordt getraind om gelijkaardige objecten samen te groeperen. Met andere woorden, het groepeert ongelabelde datasets.
Het doet dit door gelijkaardige patronen te vinden in een ongelabelde dataset, zoals kleur, grootte, vorm, gedrag, enz. Het algoritme scheidt ze vervolgens op basis van de aan- en afwezigheid van de patronen. Elke groep of cluster krijgt een cluster-ID voor eenvoudige identificatie. Het machine learning model gebruikt deze ID’s om complexe datasets te vereenvoudigen en te verwerken.
Naast statistische gegevensanalyse komt de clusteringstechniek ook van pas bij consumentensegmentatie en het taggen van data.
Doel: Gelijksoortige objecten of datapunten groeperen.
Use-casus: Marktsegmentatie, sociale netwerkanalyse, anomaliedetectie, statistische data-analyse, beeldsegmentatie, enz. Om een eenvoudig voorbeeld te noemen: platforms zoals Amazon en Netflix vertrouwen op de clusteringtechniek om je alle product- en inhoudsaanbevelingen op hun apps te geven.
Voorbeelden van algoritmen in op clustering gebaseerde modellen voor machinaal leren:
- K-Means: Een model aangedreven door het K-Means algoritme. Het segmenteert de dataset door de monsters te groeperen in clusters met gelijke variantie. Het is mogelijk een van de eenvoudigste clustermodellen, maar kan enkele nadelen ontwikkelen vanwege de high variantie.
- K-Means++: Dit model maakt gebruik van een aangepaste variant van het K-Means algoritme. Het vertrouwt op een slimme techniek voor het initialiseren van de centroïde. De rest van het algoritme is vergelijkbaar met K-Means.
- Agglomeratieve clustering: In dit model behandelt het onderliggende algoritme elk gegevenspunt als een enkel cluster voordat het deze geleidelijk samenvoegt. De bottom-up clusterhiërarchie kan worden weergegeven als een boomstructuur.
- DBSCAN: Een model dat gebruik maakt van het DBSCAN-algoritme (Density-Based Spatial Clustering of Applications with Noise). Het algoritme scheidt de gebieden met een hoge dichtheid in datapunten door gebieden met een lage dichtheid.
Reductie van dimensionaliteit
In dimensionaliteitsreductiemodellen verminderen de onderliggende algoritmen het aantal willekeurige variabelen die in beschouwing worden genomen. Dit wordt gedaan door een reeks hoofdvariabelen te verkrijgen.
“Dimensionaliteit” verwijst naar het aantal voorspellende variabelen dat een model voor machinaal leren gebruikt om een onafhankelijke variabele (doel) te voorspellen.
Vaak is het aantal variabelen te hoog in de gemiddelde “echte” dataset. Hierdoor ontstaat het probleem van overfitting.
In de meeste gevallen dragen niet alle variabelen in gelijke mate bij aan het bereiken van de gewenste output. In de meeste gevallen is het zelfs logisch om varianties te behouden met minder variabelen. De meeste technieken voor dimensionaliteitsreductie vallen in de categorie van ofwel feature elimination ofwel feature extraction.
Doel: Generaliseren van data en het distilleren van relevante informatie.
Use-cases: Anomaliedetectie, aanbevelingssystemen, semantische modellering, zoeken naar documenten, onderwerpmodellering, enzovoort.
Voorbeelden van algoritmen die worden gebruikt in modellen voor machinaal leren met dimensiereductie:
- Principale Componenten Analyse (PCA): PCA is een van de meest gebruikte algoritmen in dimensionaliteitsreductiemodellen. Het projecteert data met een hogere dimensie (bijvoorbeeld drie dimensies) naar een kleinere ruimte (bijvoorbeeld twee dimensies), wat resulteert in dimensionaliteitsreductie. Met andere woorden, PCA creëert minder nieuwe variabelen uit een groter aantal voorspellers. Het doet dit op een manier waarbij de nieuwe variabelen onafhankelijk van elkaar zijn, maar iets minder interpreteerbaar.
- t-SNE: staat voor t-Distributed Stochastic Neighbor Embedding. In deze context verwijst het woord “Stochastisch” naar een niet-definiete maar willekeurige waarschijnlijkheid. Het woord “Neighbor” verwijst naar de zorg om de variantie van alleen de naburige punten te behouden. “Inbedden” is het plotten van de data in lage dimensies. t-SNE is dus een algoritme dat telkens iets andere resultaten oplevert met dezelfde data. Het uiteindelijke doel is om de structuur van naburige punten te behouden. Op t-SNE gebaseerde modellen zijn het meest geschikt voor het insluiten van data in hogere dimensies voor datavisualisatie.
- Singuliere waarde decompositie (SVD): SVD is een van de populairste technieken voor dimensionaliteitsreductie als data schaars is. Met “schaarse data” bedoelen we rijen data waarin veel waarden 0 (nul) zijn. Dit komt vaak voor in ML-toepassingen zoals aanbevelingssystemen – bijvoorbeeld wanneer een gebruiker slechts een paar films of liedjes in de database waardeert.
Versterkende machine learning modellen
Naast de hierboven beschreven modellen zijn er ook verschillende machine learning modellen die worden aangedreven door algoritmen zoals:
- Q-Learning
- State–Action–Reward–State–Action (SARSA)
- Deep Q-network (DQN)
- Asynchronous Advantage Actor Critic (A3C)
Deze modellen worden meestal gebruikt voor het uitvoeren van complexe taken zonder enige training data. Populaire use-cases zijn onder andere het begeleiden van robotbewegingen, het verbeteren van het behandelbeleid in de gezondheidszorg, autonoom transport, het uitvoeren van transacties in de financiële sector, text mining, enzovoort.
Welk machine learning model is het beste?
Er bestaat niet zoiets als één enkel beste machine learning model. Verschillende modellen komen van pas in verschillende use-cases. Het is zelfs zo dat veel ingewikkelde systemen, zoals autonome voertuigen of geavanceerde militaire hardware, meerdere modellen nodig kunnen hebben om synchroon en coherent te functioneren. Volgens fortune insights is machine learning een groeiende industrie: er wordt verwacht dat deze tegen 2029 een waarde van $209,91 miljard zal bereiken. Deze modellen zullen de komende jaren alleen maar belangrijker worden en op grotere schaal worden ingezet.
Veelgestelde vragen
Wat zijn machine learning modellen?
Wat is een machine learning algoritme?
Disclaimer
Alle informatie op onze website wordt te goeder trouw en uitsluitend voor algemene informatiedoeleinden gepubliceerd. Elke actie die de lezer onderneemt op basis van de informatie op onze website is strikt op eigen risico.