AI EducademyAIEducademy
Programma'sLabBlogOver ons
Inloggen
AI EducademyAIEducademy

Gratis AI-onderwijs voor iedereen, in elke taal.

Leren

  • Programma's
  • Lessen
  • Lab
  • Dashboard
  • Over ons

Community

  • GitHub
  • Bijdragen
  • Gedragscode

Ondersteuning

  • Koop een Koffie โ˜•

Gratis AI-onderwijs voor iedereen

MIT Licentie โ€” Open Source

Programsโ€บ๐ŸŒฟ AI Sproutsโ€บLessonsโ€บAlgoritmen Uitgelegd โ€” De Recepten van AI
๐Ÿงฎ
AI Sprouts โ€ข Beginnerโฑ๏ธ 30 min leestijd

Algoritmen Uitgelegd โ€” De Recepten van AI

Van Data naar Beslissingen ๐Ÿ‘‹

In de vorige les heb je geleerd dat data de brandstof van AI is. Maar brandstof alleen laat een auto niet rijden โ€” je hebt een motor nodig. In AI heet die motor een algoritme.

Data gaat erin, het algoritme verwerkt het, voorspellingen komen eruit
Een algoritme zet ruwe data om in nuttige voorspellingen

Wat is een Algoritme? ๐Ÿค”

Een algoritme is simpelweg een reeks stapsgewijze instructies om een probleem op te lossen.

Je volgt al elke dag algoritmen:

  • ๐Ÿณ Een kookrecept โ€” "Verhit de olie, voeg uien toe, roer 3 minuten..."
  • ๐Ÿ—บ๏ธ Routebeschrijving naar school โ€” "Loop naar het noorden, sla linksaf bij het park..."
  • ๐Ÿ”ข Staartdeling โ€” Een stapsgewijs proces dat je op school hebt geleerd
๐Ÿค”
Think about it:

Denk aan hoe je elke ochtend beslist wat je aantrekt. Je checkt het weer, denkt na over je plannen, kijkt wat schoon is โ€” dat is een algoritme! Je volgt een reeks stappen om een beslissing te nemen. AI-algoritmen doen hetzelfde, maar dan met data in plaats van onderbuikgevoel.


Algoritme 1: Beslisbomen ๐ŸŒณ

Een beslisboom neemt beslissingen door een reeks ja/nee-vragen te stellen โ€” net als het spel "20 vragen."

Hoe het werkt

Stel je voor dat je beslist of je buiten gaat spelen:

Regent het?
โ”œโ”€โ”€ Ja โ†’ Binnen blijven ๐Ÿ 
โ””โ”€โ”€ Nee โ†’ Is het boven de 15ยฐC?
    โ”œโ”€โ”€ Ja โ†’ Buiten spelen! โšฝ
    โ””โ”€โ”€ Nee โ†’ Jas aan en buiten spelen ๐Ÿงฅ

Elk knooppunt stelt een vraag, elke tak volgt een antwoord, elk blad geeft een definitieve beslissing.

Waarom beslisbomen geweldig zijn

  • โœ… Makkelijk te begrijpen โ€” je kunt ze op papier tekenen
  • โœ… Uitlegbaar โ€” je kunt precies traceren waarom een beslissing is genomen
  • โœ… Werken met zowel getallen als categorieรซn

Wanneer ze moeite hebben

  • โŒ Kunnen overfitten โ€” trainingsdata memoriseren in plaats van algemene patronen leren
  • โŒ Eรฉn boom kan onnauwkeurig zijn bij complexe problemen
๐Ÿคฏ

Random Forests combineren honderden beslisbomen en laten ze "stemmen" op het antwoord. Het is alsof je 500 mensen om de weg vraagt en de meerderheid volgt. Dit simpele idee verbetert de nauwkeurigheid drastisch!


Algoritme 2: K-Nearest Neighbors (KNN) ๐Ÿ˜๏ธ

KNN is het "vraag je buren"-algoritme. De logica is prachtig simpel: dingen die vergelijkbaar zijn, liggen meestal dicht bij elkaar.

De intuรฏtie

Stel je verhuist naar een nieuwe stad en zoekt een goed restaurant. Wat doe je? Je vraagt je naaste buren om aanbevelingen! Als 3 van de 5 Italiaans aanraden, probeer je waarschijnlijk Italiaans.

KNN werkt precies hetzelfde:

  1. Neem een nieuw, onbekend datapunt
  2. Vind de K dichtstbijzijnde datapunten in de trainingsdata
  3. Laat die buren stemmen op het antwoord
  4. Volg de meerderheid

K kiezen

  • K te klein (bijv. K=1) โ†’ Gevoelig voor ruis
  • K te groot (bijv. K=100) โ†’ Te algemeen
  • Sweet spot โ†’ K=3, 5 of 7 werkt meestal goed. Altijd een oneven getal!
from sklearn.neighbors import KNeighborsClassifier

# Maak en train een KNN-model met K=5
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)

# Voorspel op nieuwe data
prediction = knn.predict(X_test)
print(f"Nauwkeurigheid: {knn.score(X_test, y_test):.2%}")
๐Ÿ’ก

KNN is een "luie leerling" โ€” het leert niets tijdens het trainen! Het onthoudt alle data en doet het echte werk pas bij de voorspelling door afstanden te berekenen.


Algoritme 3: Lineaire Regressie ๐Ÿ“ˆ

Lineaire regressie is de kunst van het trekken van een lijn door datapunten. Het wordt gebruikt als je een getal wilt voorspellen (geen categorie).

De intuรฏtie

Hoe meer uur je studeert, hoe hoger je toetscijfer doorgaans is. Als je dit op een grafiek zet, zie je datapunten die omhoog gaan. Lineaire regressie trekt de best passende lijn door die punten.

De vergelijking

y = mx + b
  • y = wat we voorspellen (toetscijfer)
  • x = invoer (uren gestudeerd)
  • m = helling (hoe steil de lijn is)
  • b = snijpunt (waar de lijn de y-as kruist)
from sklearn.linear_model import LinearRegression
import numpy as np

# Studie-uren en toetscijfers
hours = np.array([1, 2, 3, 4, 5, 6, 7, 8]).reshape(-1, 1)
scores = np.array([20, 35, 45, 55, 65, 75, 82, 90])

# Model fitten
model = LinearRegression()
model.fit(hours, scores)

# Voorspel het cijfer voor 5,5 uur studeren
predicted = model.predict([[5.5]])
print(f"Voorspeld cijfer voor 5,5 uur: {predicted[0]:.1f}")

Wanneer het werkt โ€” en wanneer niet

  • โœ… Geweldig als de relatie ongeveer een rechte lijn is
  • โœ… Snel, simpel en makkelijk te interpreteren
  • โŒ Slecht als de relatie gebogen of complex is
  • โŒ Gevoelig voor uitschieters

Welk Algoritme Kiezen? ๐Ÿงญ

| Vraag | Beslisboom | KNN | Lineaire Regressie | |-------|:---:|:---:|:---:| | Categorie voorspellen? | โœ… | โœ… | โŒ | | Getal voorspellen? | โœ… | โœ… | โœ… | | Beslissing uitleggen? | โœ…โœ… | โŒ | โœ… | | Zeer grote dataset? | โœ… | โŒ | โœ… | | Lineaire relatie? | โŒ | โŒ | โœ…โœ… |

๐Ÿค”
Think about it:

Er is geen enkel "beste" algoritme. De juiste keuze hangt af van je data en je probleem. Een arts die ziektes diagnosticeert geeft misschien de voorkeur aan een beslisboom omdat het kan uitleggen waarom een diagnose is gesteld.


Interactief: Bouw een Film-Aanbeveler ๐ŸŽฌ

Laten we een simpele beslisboom bouwen voor filmaanbevelingen!

Wil je iets grappigs?
โ”œโ”€โ”€ Ja โ†’ Hou je van animatiefilms?
โ”‚   โ”œโ”€โ”€ Ja โ†’ Kijk "Inside Out 2" ๐ŸŽญ
โ”‚   โ””โ”€โ”€ Nee โ†’ Kijk "The Grand Budapest Hotel" ๐Ÿจ
โ””โ”€โ”€ Nee โ†’ Hou je van actie?
    โ”œโ”€โ”€ Ja โ†’ Heb je voorkeur voor superhelden?
    โ”‚   โ”œโ”€โ”€ Ja โ†’ Kijk "Spider-Man: Across the Spider-Verse" ๐Ÿ•ท๏ธ
    โ”‚   โ””โ”€โ”€ Nee โ†’ Kijk "Top Gun: Maverick" โœˆ๏ธ
    โ””โ”€โ”€ Nee โ†’ Wil je een waargebeurd verhaal?
        โ”œโ”€โ”€ Ja โ†’ Kijk "Hidden Figures" ๐Ÿš€
        โ””โ”€โ”€ Nee โ†’ Kijk "Interstellar" ๐ŸŒŒ
def recommend_movie(funny, animated, action, superhero, true_story):
    if funny:
        if animated:
            return "Inside Out 2 ๐ŸŽญ"
        else:
            return "The Grand Budapest Hotel ๐Ÿจ"
    else:
        if action:
            if superhero:
                return "Spider-Man: Across the Spider-Verse ๐Ÿ•ท๏ธ"
            else:
                return "Top Gun: Maverick โœˆ๏ธ"
        else:
            if true_story:
                return "Hidden Figures ๐Ÿš€"
            else:
                return "Interstellar ๐ŸŒŒ"

print(recommend_movie(funny=False, animated=False,
                      action=True, superhero=True,
                      true_story=False))

Snelle Samenvatting ๐ŸŽฏ

  1. Een algoritme is een stapsgewijze procedure om een probleem op te lossen
  2. Beslisbomen stellen ja/nee-vragen โ€” uitlegbaar en visueel
  3. KNN classificeert door de K dichtstbijzijnde buren te laten stemmen
  4. Lineaire regressie trekt een lijn om getallen te voorspellen
  5. Geen algoritme is universeel het beste โ€” kies op basis van je data en probleem
  6. Echte AI-systemen combineren vaak meerdere algoritmen

Wat Komt Er Volgende? ๐Ÿš€

Je hebt nu drie klassieke algoritmen ontmoet. In de volgende les verkennen we neurale netwerken โ€” de door het brein geรฏnspireerde algoritmen achter moderne AI-doorbraken! ๐Ÿง 

Lesson 2 of 30 of 3 completed
โ†Datasets en Data โ€” De Brandstof van AIIntroductie tot Neurale Netwerken โ€” Hoe AI Denkt in Lagenโ†’