Skip to content

Adviseren over AI-oplossingen

Als AI Engineer moet je in staat zijn om de juiste aanpak te adviseren voor een gegeven probleem. Dit vereist kennis van verschillende typen modellen, hun sterktes en zwaktes, en wanneer je welke aanpak inzet.


Probleem categoriseren

Voordat je een model kiest, moet je het probleem goed begrijpen. De belangrijkste indelingen:

Classificatie vs. Regressie

Type Output Voorbeelden
Classificatie Discrete categorieën Spam/niet-spam, fraudedetectie, beeldherkenning
Regressie Continue waarden Huizenprijs voorspellen, temperatuur, omzet

Hoe herken je het verschil?

  • Classificatie: "In welke categorie valt dit?" → antwoord is een label
  • Regressie: "Hoeveel/hoe groot/wanneer?" → antwoord is een getal

!!! note "Binair vs. Multi-class" Classificatie kan binair zijn (2 klassen) of multi-class (meerdere klassen). Sommige problemen zijn multi-label, waarbij meerdere labels tegelijk kunnen gelden.


Supervised vs. Unsupervised Learning

Type Kenmerken Use cases
Supervised Je hebt gelabelde data (input + gewenste output) Voorspellingen maken, classificatie, regressie
Unsupervised Geen labels, alleen input-data Clustering, anomaly detection, dimensiereductie
Semi-supervised Weinig gelabelde data, veel ongelabelde data Wanneer labelen duur of tijdrovend is
Reinforcement Agent leert door trial-and-error met beloningen Games, robotica, optimalisatie

Beslisboom:

1
2
3
4
5
6
7
8
9
Heb je gelabelde data?
├── Ja → Supervised Learning
│   └── Is de output een categorie of getal?
│       ├── Categorie → Classificatie
│       └── Getal → Regressie
└── Nee → Unsupervised Learning
    └── Wil je groepen vinden of structuur ontdekken?
        ├── Groepen → Clustering
        └── Structuur → Dimensiereductie

Lineaire vs. Non-lineaire problemen

Type Kenmerken Voorbeeld
Lineair Relatie tussen input en output kan worden beschreven met een rechte lijn (of vlak in hogere dimensies) Salaris op basis van jaren ervaring
Non-lineair Complexe, kromme relaties Beeldherkenning, taalverwerking

Waarom dit uitmaakt:

  • Lineaire modellen zijn simpeler, sneller en makkelijker te interpreteren
  • Non-lineaire modellen kunnen complexere patronen leren, maar vereisen meer data en compute
  • Probeer eerst een lineair model als baseline — soms is dat genoeg

Machine Learning modellen

Hieronder een overzicht van veelgebruikte ML-modellen met hun werking in begrijpelijke termen.

Linear Regression

Wat het doet: Vindt een rechte lijn die het beste past bij de data om continue waarden te voorspellen.

Aspect Beschrijving
Type Supervised, Regressie
Intuïtie Trek een lijn door de data die de totale afstand tot alle punten minimaliseert
Sterkte Simpel, snel, interpreteerbaar
Zwakte Kan alleen lineaire relaties modelleren
Gebruik wanneer Je verwacht een rechtlijnig verband tussen features en target

Logistic Regression

Wat het doet: Ondanks de naam is dit een classificatiemodel. Het berekent de kans dat een datapunt tot een bepaalde klasse behoort.

Aspect Beschrijving
Type Supervised, Classificatie
Intuïtie Vindt een scheidingslijn (of -vlak) tussen klassen en geeft kansen
Sterkte Snel, geeft probabiliteiten, goed interpreteerbaar
Zwakte Werkt minder goed bij non-lineaire grenzen
Gebruik wanneer Binaire classificatie met (ongeveer) lineair scheidbare klassen

Decision Tree

Wat het doet: Bouwt een boomstructuur van ja/nee-vragen om tot een voorspelling te komen.

Aspect Beschrijving
Type Supervised, Classificatie & Regressie
Intuïtie "Is leeftijd > 30? → Ja → Is inkomen > 50k? → Nee → Klasse B"
Sterkte Zeer interpreteerbaar, kan non-lineaire relaties vangen
Zwakte Gevoelig voor overfitting, instabiel bij kleine datawijzigingen
Gebruik wanneer Je wilt een uitlegbaar model of als startpunt

Random Forest

Wat het doet: Combineert meerdere decision trees en laat ze "stemmen" op de uitkomst.

Aspect Beschrijving
Type Supervised, Classificatie & Regressie
Intuïtie Vraag 100 decision trees om hun mening en neem de meerderheid
Sterkte Robuust, minder overfitting dan enkele tree, werkt goed "out of the box"
Zwakte Minder interpreteerbaar, trager dan enkele tree
Gebruik wanneer Je wilt goede prestaties zonder veel tuning

K-Nearest Neighbors (KNN)

Wat het doet: Classificeert een punt op basis van de k dichtstbijzijnde buren in de trainingsdata.

Aspect Beschrijving
Type Supervised, Classificatie & Regressie
Intuïtie "De 5 dichtstbijzijnde huizen zijn allemaal duur, dus dit huis is ook duur"
Sterkte Simpel concept, geen training nodig
Zwakte Traag bij grote datasets, gevoelig voor schaal van features
Gebruik wanneer Kleine datasets, of als quick baseline

Support Vector Machine (SVM)

Wat het doet: Vindt de scheidingslijn (of -vlak) die de klassen zo ver mogelijk uit elkaar houdt.

Aspect Beschrijving
Type Supervised, Classificatie (ook regressie)
Intuïtie Zoek de "straat" tussen twee klassen die zo breed mogelijk is
Sterkte Werkt goed in hoog-dimensionale ruimtes, effectief bij duidelijke scheiding
Zwakte Schaalt slecht naar grote datasets, moeilijker te interpreteren
Gebruik wanneer Middelgrote datasets met duidelijk gescheiden klassen

Naïve Bayes

Wat het doet: Past Bayes' theorema toe en neemt aan dat features onafhankelijk van elkaar zijn.

Aspect Beschrijving
Type Supervised, Classificatie
Intuïtie Bereken de kans op elke klasse gegeven de features, neem de hoogste
Sterkte Zeer snel, werkt verrassend goed bij tekst
Zwakte Aanname van onafhankelijkheid is vaak niet realistisch
Gebruik wanneer Tekstclassificatie (spam, sentiment), snelle baseline

Deep Learning modellen

Deep Learning modellen gebruiken neurale netwerken met meerdere lagen om complexe patronen te leren.

Neural Networks (Feedforward)

Wat het doet: Stuurt input door lagen van verbonden "neuronen" die elk een gewogen som berekenen en een activatiefunctie toepassen.

Aspect Beschrijving
Architectuur Input layer → Hidden layers → Output layer
Intuïtie Elke laag leert steeds abstractere representaties van de input
Sterkte Kan zeer complexe, non-lineaire relaties leren
Zwakte Vereist veel data, moeilijk te interpreteren, rekenintensief
Gebruik wanneer Grote datasets, complexe patronen, genoeg compute beschikbaar

Hoe het werkt (simpel):

  1. Input komt binnen (bijv. features van een huis)
  2. Elke neuron berekent: gewogen som van inputs + bias
  3. Activatiefunctie bepaalt of neuron "vuurt"
  4. Output van één laag wordt input voor de volgende
  5. Laatste laag geeft de voorspelling

Convolutional Neural Networks (CNNs)

Wat het doet: Speciaal ontworpen voor data met ruimtelijke structuur (beelden, video).

Aspect Beschrijving
Architectuur Convolutional layers → Pooling layers → Fully connected layers
Intuïtie Kleine "filters" schuiven over het beeld en detecteren patronen (randen, vormen, objecten)
Sterkte Zeer effectief voor beeldherkenning, detecteert hiërarchische patronen
Zwakte Data-intensief, rekenintensief
Gebruik wanneer Beeldclassificatie, objectdetectie, video-analyse

Hoe het werkt (simpel):

  1. Eerste lagen detecteren simpele patronen (randen, lijnen)
  2. Diepere lagen combineren deze tot complexere vormen (ogen, wielen)
  3. Laatste lagen herkennen objecten (gezicht, auto)
  4. Pooling-lagen verkleinen de data en maken het robuuster

Andere architecturen (kort)

Architectuur Specialiteit
RNN / LSTM / GRU Sequentiële data (tekst, tijdreeksen)
Transformers Tekst, maar ook beeld en audio (basis van GPT, BERT)
Autoencoders Dimensiereductie, anomaly detection
GANs Genereren van nieuwe data (beelden, muziek)

Foundation Models

Foundation models zijn zeer grote, voorgetrainde modellen die kunnen worden aangepast voor diverse taken.

Wat zijn foundation models?

Kenmerk Beschrijving
Pre-trained Getraind op enorme hoeveelheden data (internet-schaal)
General purpose Niet voor één specifieke taak, maar breed inzetbaar
Fine-tunable Kunnen worden aangepast voor specifieke toepassingen
Multimodal Sommige verwerken tekst, beeld en audio tegelijk

Voorbeelden

Model Type Toepassingen
GPT-4, Claude Taal (LLM) Tekstgeneratie, vraagbeantwoording, coderen
BERT, RoBERTa Taal (encoder) Classificatie, NER, sentiment
CLIP Taal + Beeld Image search, zero-shot classificatie
Stable Diffusion, DALL-E Beeld (generatief) Beeldgeneratie
Whisper Audio Speech-to-text

Wanneer foundation models adviseren?

Situatie Advies
Beperkte eigen data ✅ Foundation model + fine-tuning
Standaard NLP-taken ✅ LLM of BERT-variant
Beeldgerelateerde taken ✅ CLIP, vision transformers
Unieke domein-specifieke taak ⚠️ Fine-tuning nodig, check of er domein-specifieke modellen zijn
Hoge eisen aan latency/kosten ⚠️ Overweeg kleinere modellen of distillatie
Privacy-gevoelige data ⚠️ Lokale deployment of eigen training overwegen

Trade-offs bij foundation models

Voordeel Nadeel
Snel aan de slag Minder controle over het model
Goede prestaties met weinig data Kan duur zijn (API-kosten, compute)
State-of-the-art performance Black box, moeilijk te interpreteren
Breed inzetbaar Kan biases uit trainingsdata bevatten

Adviesproces

Bij het adviseren over een AI-oplossing, doorloop je deze stappen:

1. Begrijp het probleem

  • Wat is het doel? Wat moet het model voorspellen/classificeren?
  • Welke data is beschikbaar?
  • Wat zijn de randvoorwaarden (latency, interpretability, privacy)?

2. Categoriseer het probleem

  • Classificatie of regressie?
  • Supervised of unsupervised?
  • Lineair of non-lineair?

3. Selecteer kandidaat-modellen

Probleem Suggesties
Lineaire regressie Linear Regression, Ridge, Lasso
Binaire classificatie (simpel) Logistic Regression, Naïve Bayes
Classificatie (complex) Random Forest, XGBoost, Neural Network
Beeldherkenning CNN, Vision Transformer, foundation model
Tekstverwerking BERT, GPT, foundation model
Clustering K-Means, DBSCAN, Hierarchical
Weinig data beschikbaar Foundation model + fine-tuning

4. Weeg de trade-offs

Factor Vraag
Performance Welk model scoort het beste op de relevante metrics?
Interpreteerbaarheid Moet het model uitlegbaar zijn?
Snelheid Hoe snel moet inference zijn?
Data Hoeveel data heb je? Is het gelabeld?
Resources Hoeveel compute en budget heb je?
Onderhoud Hoe makkelijk is het model te onderhouden?

5. Start simpel, itereer

!!! tip "Begin met een baseline" Start altijd met een simpel model (logistic regression, decision tree) als baseline. Zo heb je een referentiepunt en ontdek je soms dat het complexe model niet zoveel beter is.