Grafentheorie voor machine learning
Nodes, edges, adjacency matrix, grafentypen, graafeigenschappen, representaties van sociale netwerken.
Grafentheorie voor machine learning is een gratis Leer AI met Python-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat is een graaf
Een graaf modelleert entiteiten en de relaties ertussen. Formeel is een graaf G = (V, E), waarbij V de verzameling hoekpunten (knopen) is en E de verzameling kanten die paren knopen met elkaar verbinden. Veel echte systemen zijn van nature grafen.
Knopen en kanten
Elke knoop stelt een entiteit voor (een gebruiker, een atoom, een webpagina). Elke kant stelt een relatie voor (een vriendschap, een chemische binding, een hyperlink). Machine learning op grafen leert van deze verbindingsstructuur, niet alleen van geïsoleerde voorbeelden.
De adjacentiematrix
De adjacentiematrix A legt vast welke knopen met elkaar verbonden zijn. Voor n knopen is A n bij n; A[i][j] = 1 als een kant knoop i en knoop j verbindt, en anders 0.
import numpy as np
# Triangle: 0-1, 1-2, 0-2
A = np.array([
[0, 1, 1],
[1, 0, 1],
[1, 1, 0],
])Kenmerken van knopen X
Naast de structuur heeft elke knoop meestal een kenmerkvector. Samen vormen ze de kenmerkmatrix X met vorm (num_nodes, num_features). In een sociale graaf kan een rij bijvoorbeeld de leeftijd van een gebruiker, het aantal berichten en de leeftijd van het account bevatten.
X = np.array([
[25, 120, 3.0], # node 0
[31, 45, 5.5], # node 1
[22, 300, 1.2], # node 2
])Graadmatrix
De graad van een knoop is het aantal kanten ervan. De graadmatrix D is diagonaal, waarbij elk diagonaalelement gelijk is aan de graad van die knoop. Dit is de bouwsteen van de graaflaplaciaan.
D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighborsDe graaflaplaciaan
De graaflaplaciaan wordt gedefinieerd als L = D - A. Deze legt vast hoe waarden verschillen tussen verbonden knopen en vormt de basis van de spectrale grafentheorie en veel GNN-formuleringen.
L = D - A
print(L)Waarom de laplaciaan belangrijk is
De eigenwaarden en eigenvectoren van de laplaciaan onthullen de globale structuur: verbondenheid, clusters en gladheid. Graafconvoluties worden vaak afgeleid van de laplaciaan. Daarom is inzicht in L = D - A essentieel om GNN's te begrijpen.
Gerichte versus ongerichte grafen
In een ongerichte graaf heeft een kant geen richting (zoals een vriendschap), dus is A symmetrisch. In een gerichte graaf wijzen kanten één kant op (zoals bij een volger of een citatie), dus kan A asymmetrisch zijn: A[i][j] kan verschillen van A[j][i].
# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 0, 0],
])Gewogen grafen
Kanten kunnen gewichten bevatten die sterkte of afstand weergeven. De elementen van de adjacentiematrix zijn dan reële getallen en niet alleen 0 of 1. In een wegennetwerk kunnen kanten bijvoorbeeld worden gewogen met reistijd, en in een gelijkenisgraaf met cosinusgelijkenis.
Kanten efficiënt weergeven
Bij grote ijle grafen verspilt de adjacentiematrix geheugen, omdat de meeste elementen nul zijn. ML-frameworks slaan kanten daarom op als een kantenlijst (COO-indeling): twee reeksen die de bron en het doel van elke kant aangeven. PyTorch Geometric noemt dit edge_index.
# Triangle edges as edge_index [2, num_edges]
edge_index = [
[0, 0, 1], # sources
[1, 2, 2], # targets
]Toepassingen van ML op grafen
Grafen komen overal voor:
- Sociaal: vriendena aanbevelingen, gemeenschapsdetectie
- Moleculair: eigenschappen van moleculen voorspellen (atomen = knopen, bindingen = kanten)
- Kennisgrafen: verbindingen tussen entiteiten en relaties voorspellen
- Web/citaties: rangschikking en classificatie
Snelle controle
Test je kennis van de grafentheorie.
Overzicht
Je hebt de grondslagen van de grafentheorie voor ML geleerd:
- Een graaf is
G = (V, E)met knopen en kanten - De adjacentiematrix A legt verbindingen vast; X bevat de kenmerken van knopen
- De graaflaplaciaan is
L = D - A - Grafen kunnen gericht of ongericht zijn en gewogen of ongewogen
- Toepassingen omvatten sociale, moleculaire en kennisgrafen
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Grafentheorie voor machine learning” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Grafentheorie voor machine learning”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “Grafentheorie voor machine learning”?
Nodes, edges, adjacency matrix, grafentypen, graafeigenschappen, representaties van sociale netwerken. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Grafentheorie voor machine learning”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Grafentheorie voor machine learning
- Graph convolutional networks (GCN)
- Nodeclassificatie met GNN
- Linkvoorspelling en graafclassificatie