Introduction to Graph Neural Networks
Chapter 1: Foundations of Graph-Based Learning
Limitations of Standard Neural Networks on Graphs
Common Graph Machine Learning Tasks
Representing Graphs: Adjacency and Feature Matrices
Graph Properties and Measurements
Introduction to the NetworkX Library
Hands-on: Loading and Inspecting a Graph Dataset
Chapter 2: The Message Passing Mechanism
The Neighborhood Aggregation Idea
A General GNN Layer: Aggregate and Update
Common Aggregation Functions
Update Functions and Non-Linearities
Permutation Invariance and Equivariance
Stacking Layers to Form a Deep GNN
Practice: A Simple GNN Layer with NumPy
Chapter 3: Foundational GNN Architectures
Graph Convolutional Networks (GCN)
A Spatial Interpretation of Graph Convolutions
GraphSAGE: Sampling and Aggregating Neighborhoods
Inductive Learning with GraphSAGE
Graph Attention Networks (GAT)
The Attention Mechanism in GATs
Comparing GCN, GraphSAGE, and GAT
Hands-on: Implementing a GCN from Scratch
Chapter 4: Training GNN Models
Setting up a GNN for Node Classification
Loss Functions for Graph Tasks
The Training Loop for GNNs
Data Splitting in Graphs: Transductive vs. Inductive
Evaluation Metrics for Node Classification
Overfitting and Regularization in GNNs
Practice: Training and Evaluating your GCN
Chapter 5: GNN Implementation with PyTorch Geometric
Introduction to PyTorch Geometric (PyG)
Working with PyG Datasets
Building Models with PyG GNN Layers
Mini-Batching for Large Graphs
A Complete Training Script in PyG
Hands-on: Node Classification on the Cora Dataset with PyG