Graphentheorie für Machine Learning
Knoten, Kanten, Adjazenzmatrix, Graphentypen, Graph-Features, Repräsentationen sozialer Netzwerke.
Graphentheorie für Machine Learning ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Graph
Ein Graph modelliert Entitäten und die Beziehungen zwischen ihnen. Formal ist ein Graph G = (V, E), wobei V die Menge der Knoten und E die Menge der Kanten ist, die Knotenpaare verbinden. Viele reale Systeme lassen sich von Natur aus als Graphen darstellen.
Knoten und Kanten
Jeder Knoten repräsentiert eine Entität (einen Benutzer, ein Atom, eine Webseite). Jede Kante repräsentiert eine Beziehung (eine Freundschaft, eine chemische Bindung, einen Hyperlink). Maschinelles Lernen mit Graphen lernt aus dieser Verbindungsstruktur und nicht nur aus isolierten Stichproben.
Die Adjazenzmatrix
Die Adjazenzmatrix A kodiert, welche Knoten verbunden sind. Für n Knoten ist A eine n-mal-n-Matrix; A[i][j] = 1, wenn eine Kante Knoten i und Knoten j verbindet, andernfalls 0.
import numpy as np
# Triangle: 0-1, 1-2, 0-2
A = np.array([
[0, 1, 1],
[1, 0, 1],
[1, 1, 0],
])Knoten-Features X
Neben der Struktur verfügt jeder Knoten normalerweise über einen Feature-Vektor. Zusammengestellt bilden diese die Feature-Matrix X mit der Form (num_nodes, num_features). In einem sozialen Graphen könnte eine Zeile das Alter eines Benutzers, die Anzahl seiner Beiträge und das Alter seines Kontos enthalten.
X = np.array([
[25, 120, 3.0], # node 0
[31, 45, 5.5], # node 1
[22, 300, 1.2], # node 2
])Gradmatrix
Der Grad eines Knotens ist die Anzahl seiner Kanten. Die Gradmatrix D ist eine Diagonalmatrix, deren Diagonaleinträge jeweils dem Knotengrad entsprechen. Sie bildet die Grundlage des Graph-Laplacians.
D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighborsDer Graph-Laplacian
Der Graph-Laplacian ist definiert als L = D - A. Er erfasst, wie stark sich Werte zwischen verbundenen Knoten unterscheiden, und ist grundlegend für die Spektraltheorie von Graphen sowie für viele GNN-Formulierungen.
L = D - A
print(L)Warum der Laplacian wichtig ist
Die Eigenwerte und Eigenvektoren des Laplacians geben Aufschluss über die globale Struktur: Zusammenhang, Cluster und Glattheit. Graph-Faltungen werden häufig aus dem Laplacian hergeleitet. Daher ist das Verständnis von L = D - A entscheidend für das Verständnis von GNNs.
Gerichtet vs. ungerichtet
In einem ungerichteten Graphen hat eine Kante keine Richtung (Freundschaft), daher ist A symmetrisch. In einem gerichteten Graphen zeigen Kanten in eine Richtung (etwa bei einem Follower oder einer Zitation), daher kann A asymmetrisch sein: A[i][j] kann sich von A[j][i] unterscheiden.
# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 0, 0],
])Gewichtete Graphen
Kanten können Gewichte tragen, die Stärke oder Entfernung darstellen. Dann sind die Einträge der Adjazenzmatrix reelle Zahlen und nicht nur 0 oder 1. In einem Straßennetz könnten die Kanten nach Fahrzeit gewichtet werden, in einem Ähnlichkeitsgraphen nach der Kosinusähnlichkeit.
Kanten effizient darstellen
Bei großen dünn besetzten Graphen verschwendet die Adjazenzmatrix Speicher, da die meisten Einträge null sind. ML-Frameworks speichern Kanten stattdessen als Kantenliste (COO-Format): zwei Arrays, die Quelle und Ziel jeder Kante angeben. PyTorch Geometric bezeichnet diese als edge_index.
# Triangle edges as edge_index [2, num_edges]
edge_index = [
[0, 0, 1], # sources
[1, 2, 2], # targets
]Anwendungen des Graphenlernens
Graphen kommen überall vor:
- Sozial: Freundschaftsempfehlungen, Community-Erkennung
- Molekular: Vorhersage von Moleküleigenschaften (Atome = Knoten, Bindungen = Kanten)
- Wissensgraphen: Link Prediction über Entitäten und Beziehungen
- Web/Zitationen: Ranking und Klassifikation
Kurztest
Testen Sie Ihr Wissen über Graphentheorie.
Zusammenfassung
Sie haben die Grundlagen der Graphentheorie für ML gelernt:
- Ein Graph ist
G = (V, E)und besteht aus Knoten und Kanten - Die Adjazenzmatrix A kodiert die Verbindungen; X enthält die Knoten-Features
- Der Graph-Laplacian ist
L = D - A - Graphen können gerichtet oder ungerichtet sowie gewichtet oder ungewichtet sein
- Die Anwendungen reichen von sozialen Graphen über Molekülgraphen bis hin zu Wissensgraphen
Häufig gestellte Fragen
Ist die Lektion „Graphentheorie für Machine Learning“ kostenlos?
Ja — der vollständige Text von „Graphentheorie für Machine Learning“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Graphentheorie für Machine Learning“?
Knoten, Kanten, Adjazenzmatrix, Graphentypen, Graph-Features, Repräsentationen sozialer Netzwerke. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Graphentheorie für Machine Learning“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Graphentheorie für Machine Learning
- Graph Convolutional Networks (GCN)
- Knotenklassifikation mit GNN
- Link Prediction und Graphklassifikation