user@devops:~$ cat README.md
GNN — Graph Neural Networks
# Descripción
Graph Neural Networks (GNN) desde cero en PyTorch. Implementación de Graph Convolutional Networks (GCN) según Kipf & Welling (2017) para clasificación de nodos en el dataset clásico Zachary's Karate Club. El modelo construye una capa convolucional de grafos desde cero: normalización simétrica de la matriz de adyacencia (D⁻¹ᐟ²·A·D⁻¹ᐟ²), agregación de vecinos mediante message passing, y transformación lineal con activación ReLU. La arquitectura GCN de 2 capas (34 → 32 → 2, 1,186 parámetros) aprende embeddings de nodos en 500 épocas con early stopping, alcanzando 88.24% de accuracy global (30/34 nodos correctos). Las 4 predicciones erróneas ocurren en nodos fronterizos entre las dos comunidades rivales del club de karate. 7 visualizaciones: grafo original con comunidades reales, curvas de pérdida y accuracy, predicciones vs ground truth, errores de clasificación resaltados, t-SNE de embeddings 32D, matriz de confusión, y diagrama de message passing mostrando cómo el nodo 0 agrega información de sus vecinos.
# Características principales
$ GCN desde cero en PyTorch: capa GraphConv con normalización simétrica de adyacencia
$ Clasificación de nodos en Zachary's Karate Club: 34 nodos, 78 aristas, 2 comunidades
$ Message Passing: agregación ponderada de vecinos con self-loops
$ 88.24% accuracy global (30/34 nodos) — errores solo en nodos fronterizos entre comunidades
$ t-SNE de embeddings 32D muestra separación de comunidades en el espacio latente
$ Normalización simétrica D⁻¹ᐟ²·A·D⁻¹ᐟ² con self-loops para estabilidad numérica
$ 7 visualizaciones educativas: grafo, curvas, matriz de confusión, t-SNE, message passing
$ Implementación minimalista: 1,186 parámetros, entrenamiento completo en CPU en segundos
# Galería
# Tecnologías utilizadas