Teoría de grafos para aprendizaje automático
Nodos, aristas, matriz de adyacencia, tipos de grafos, características de grafos y representaciones de redes sociales.
Teoría de grafos para aprendizaje automático es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Qué es un grafo
Un grafo modela entidades y las relaciones entre ellas. Formalmente, un grafo es G = (V, E), donde V es el conjunto de vértices (nodos) y E es el conjunto de aristas que conectan pares de nodos. Muchos sistemas reales son grafos de forma natural.
Nodos y aristas
Cada nodo representa una entidad (un usuario, un átomo, una página web). Cada arista representa una relación (una amistad, un enlace químico, un hipervínculo). El aprendizaje automático sobre grafos aprende de esta estructura de conexiones, no solo de muestras aisladas.
La matriz de adyacencia
La matriz de adyacencia A codifica qué nodos están conectados. Para n nodos, A es de n por n; A[i][j] = 1 si una arista conecta los nodos i y j; de lo contrario, es 0.
import numpy as np
# Triangle: 0-1, 1-2, 0-2
A = np.array([
[0, 1, 1],
[1, 0, 1],
[1, 1, 0],
])Características de los nodos X
Además de la estructura, cada nodo suele incluir un vector de características. Al apilarlos, forman la matriz de características X, cuya forma es (num_nodes, num_features). En un grafo social, una fila podría contener la edad de un usuario, el número de publicaciones y la antigüedad de la cuenta.
X = np.array([
[25, 120, 3.0], # node 0
[31, 45, 5.5], # node 1
[22, 300, 1.2], # node 2
])Matriz de grados
El grado de un nodo es su número de aristas. La matriz de grados D es diagonal, y cada entrada de la diagonal es igual al grado de ese nodo. Es el componente fundamental del laplaciano del grafo.
D = np.diag(A.sum(axis=1))
# Each diagonal entry = number of neighborsEl laplaciano del grafo
El laplaciano del grafo se define como L = D - A. Captura cómo difieren los valores entre nodos conectados y es fundamental para la teoría espectral de grafos y muchas formulaciones de GNN.
L = D - A
print(L)Por qué es importante el laplaciano
Los valores propios y vectores propios del laplaciano revelan la estructura global: conectividad, agrupaciones y suavidad. Las convoluciones sobre grafos suelen derivarse del laplaciano, por lo que comprender L = D - A es clave para comprender las GNN.
Dirigidos y no dirigidos
En un grafo no dirigido, una arista no tiene dirección (como una amistad), por lo que A es simétrica. En un grafo dirigido, las aristas apuntan en una dirección (como un seguidor o una cita), por lo que A puede ser asimétrica: A[i][j] puede diferir de A[j][i].
# Directed: 0 -> 1 but not 1 -> 0
A_dir = np.array([
[0, 1, 0],
[0, 0, 1],
[0, 0, 0],
])Grafos ponderados
Las aristas pueden tener pesos que representen intensidad o distancia. En ese caso, las entradas de adyacencia son números reales, no solo 0 o 1. Una red de carreteras podría ponderar las aristas según el tiempo de viaje; un grafo de similitud, según la similitud del coseno.
Representación eficiente de aristas
En los grafos dispersos grandes, la matriz de adyacencia desperdicia memoria porque la mayoría de sus entradas son cero. En su lugar, los frameworks de ML almacenan las aristas como una lista de aristas (formato COO): dos arrays que indican el origen y el destino de cada arista. PyTorch Geometric lo denomina edge_index.
# Triangle edges as edge_index [2, num_edges]
edge_index = [
[0, 0, 1], # sources
[1, 2, 2], # targets
]Aplicaciones del aprendizaje automático sobre grafos
Los grafos aparecen en todas partes:
- Sociales: recomendación de amigos, detección de comunidades
- Moleculares: predicción de propiedades de moléculas (los átomos son nodos y los enlaces son aristas)
- Grafos de conocimiento: predicción de enlaces entre entidades y relaciones
- Web y citas: clasificación y asignación de posiciones
Comprobación rápida
Ponga a prueba sus conocimientos sobre teoría de grafos.
Resumen
Ha aprendido los fundamentos de la teoría de grafos para ML:
- Un grafo es
G = (V, E), con nodos y aristas - La matriz de adyacencia A codifica la conectividad; X contiene las características de los nodos
- El laplaciano del grafo es
L = D - A - Los grafos pueden ser dirigidos o no dirigidos, ponderados o no ponderados
- Las aplicaciones abarcan grafos sociales, moleculares y de conocimiento
Preguntas frecuentes
¿La lección «Teoría de grafos para aprendizaje automático» es gratis?
Sí — el texto completo de «Teoría de grafos para aprendizaje automático» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Teoría de grafos para aprendizaje automático»?
Nodos, aristas, matriz de adyacencia, tipos de grafos, características de grafos y representaciones de redes sociales. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Teoría de grafos para aprendizaje automático»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Teoría de grafos para aprendizaje automático
- Redes convolucionales de grafos (GCN)
- Clasificación de nodos con GNN
- Predicción de enlaces y clasificación de grafos