005 — Vectores, matrices y geometría para IA
Parte: 00 — Fundamentos, historia y método científico
Nivel: fundamentos · Horas estimadas: 4
Laboratorio: optimization · Estado: EXECUTABLE_CORE
🎯 Propósito
Comprender vectores, matrices y geometría para ia dentro de la evolución de la inteligencia artificial, implementar un experimento mínimo verificable y distinguir qué parte constituye evidencia frente a una afirmación todavía no comprobada.
📚 Resultados de aprendizaje
Al finalizar podrás:
- Explicar vectores, matrices y geometría para ia usando los conceptos
vectores,matrices,producto punto,distancia. - Ejecutar el laboratorio con una semilla explícita y revisar su contrato JSON.
- Identificar al menos un supuesto, una limitación y un riesgo de aplicación.
- Comparar el enfoque con la etapa anterior de la ruta de aprendizaje.
- Producir una evidencia reproducible y una conclusión que no exceda los datos.
🧩 Conceptos centrales
vectores, matrices, producto punto, distancia
🗺️ Ubicación en el mapa de la IA
El álgebra lineal es el idioma nativo de la IA moderna: datos, parámetros, activaciones y gradientes son vectores y matrices, y casi todo modelo — de la regresión lineal al transformer — es una composición de productos matriciales y no linealidades. Esta clase da la base geométrica que reaparecerá en embeddings y similitud (búsqueda semántica), en descenso de gradiente (parte de optimización) y en la mecánica de atención de los LLM.
📖 Fundamentos
📐 Vectores: tres lecturas del mismo objeto
Un vector x ∈ ℝⁿ admite tres interpretaciones intercambiables:
- Lista de números:
x = [x₁, ..., xₙ]— la vista del programador (array). - Punto/flecha en el espacio: la vista geométrica — dirección y magnitud.
- Objeto representado: en IA, una fila de datos, una imagen aplanada, un embedding de palabra. La apuesta central del deep learning es que la semántica puede codificarse como geometría: cosas parecidas → vectores cercanos.
Operaciones básicas (componente a componente): suma x + y, escalado αx. Con ellas se
definen combinaciones lineales α₁x₁ + ... + αₖxₖ, y de ahí los conceptos de
independencia lineal, base y dimensión.
🎯 Producto punto, norma y ángulo
producto punto: x · y = Σᵢ xᵢ yᵢ
norma euclídea: ‖x‖ = √(x · x)
coseno: cos θ = (x · y) / (‖x‖ ‖y‖)
distancia: d(x, y) = ‖x − y‖
El producto punto mide alineación: positivo si apuntan en direcciones similares, cero si
son ortogonales, negativo si se oponen. De él derivan las dos medidas de similitud
dominantes en IA: similitud coseno (ignora magnitud, estándar en embeddings de texto) y
distancia euclídea (sensible a magnitud, estándar en clustering). Una neurona artificial
computa exactamente w · x + b: su "detección" es un producto punto entre la entrada y un
patrón aprendido.
🔲 Matrices como transformaciones lineales
Una matriz A ∈ ℝᵐˣⁿ es una función lineal ℝⁿ → ℝᵐ: y = Ax. Leerla como transformación
(no como tabla) es el salto conceptual clave:
- Las columnas de A son las imágenes de los vectores de la base canónica: dicen a dónde va cada eje.
- La composición de transformaciones es el producto de matrices:
B(Ax) = (BA)x. No conmuta: rotar y luego estirar ≠ estirar y luego rotar. - Una capa densa de red neuronal es
h = g(Wx + b): transformación lineal W, traslación b, no linealidad g. Sin g, apilar capas colapsa a una sola matriz (composición de lineales es lineal) — por eso las activaciones no lineales son imprescindibles.
Dimensiones: (m×n)·(n×k) → (m×k); el índice interior debe coincidir. La mayoría de bugs
de shape en NumPy/PyTorch son violaciones de esta regla.
🧭 Nociones geométricas que reaparecen en IA
- Proyección de x sobre u (unitario):
proj_u(x) = (x·u)u— base de PCA y de "cuánto de este concepto hay en este embedding". - Hiperplano
w·x + b = 0: frontera de decisión de un clasificador lineal; w es su normal. Separabilidad lineal = existe un hiperplano que separa las clases (la limitación XOR del perceptrón es exactamente esto). - Maldición de la dimensionalidad: en dimensión alta, las distancias euclídeas se concentran y los volúmenes se vacían; la similitud coseno y las estructuras de índice aproximado (ANN) existen en parte por esto.
🧮 Ejemplo trabajado
Similitud entre tres "documentos" representados como vectores de conteo sobre el
vocabulario [ia, datos, fútbol]:
d₁ = [2, 3, 0] (habla de IA y datos)
d₂ = [1, 2, 0] (habla de IA y datos, más corto)
d₃ = [0, 1, 4] (habla sobre todo de fútbol)
Paso a paso para (d₁, d₂):
d₁ · d₂ = 2·1 + 3·2 + 0·0 = 8
‖d₁‖ = √(4+9+0) = √13 ≈ 3.606
‖d₂‖ = √(1+4+0) = √5 ≈ 2.236
cos(d₁,d₂) = 8 / (3.606·2.236) ≈ 8/8.062 ≈ 0.992 → casi idénticos en tema
Para (d₁, d₃): d₁·d₃ = 0+3+0 = 3, ‖d₃‖ = √17 ≈ 4.123,
cos ≈ 3/(3.606·4.123) ≈ 0.202 → temas distintos.
Obsérvese que la distancia euclídea ‖d₁−d₂‖ = ‖[1,1,0]‖ = √2 ≈ 1.41 es mayor que cero
aunque los documentos traten exactamente lo mismo: el coseno corrige la diferencia de
longitud. Este es el motivo por el que los motores de embeddings usan coseno por defecto.
📊 Propiedades y comparación
| Medida | Fórmula | Sensible a magnitud | Rango | Uso típico en IA |
|---|---|---|---|---|
| Producto punto | Σ xᵢyᵢ | Sí | (−∞, ∞) | Capas densas, atención (QKᵀ) |
| Similitud coseno | x·y/(‖x‖‖y‖) | No | [−1, 1] | Embeddings, búsqueda semántica |
| Distancia euclídea | ‖x−y‖ | Sí | [0, ∞) | k-means, k-NN en dimensión baja |
| Distancia Manhattan | Σ|xᵢ−yᵢ| | Sí | [0, ∞) | Datos dispersos, robustez a outliers |
flowchart LR
X["Entrada x ∈ ℝⁿ<br/>(imagen, texto tokenizado,<br/>fila de tabla)"] --> W1["Transformación lineal<br/>W₁x + b₁"]
W1 --> G1["No linealidad g<br/>(ReLU, GELU...)"]
G1 --> W2["Transformación lineal<br/>W₂h + b₂"]
W2 --> OUT["Salida: logits / embedding"]
OUT --> SIM["Comparación geométrica<br/>producto punto o coseno"]
P["Patrones aprendidos<br/>(filas de W = detectores)"] -.-> W1
note["Sin g, W₂W₁ colapsa<br/>a UNA sola matriz"] -.-> G1
⚠️ Errores conceptuales frecuentes
- "El producto de matrices es componente a componente." Ese es el producto de Hadamard; el producto matricial estándar es composición de transformaciones (filas por columnas) y no conmuta.
- "Coseno y euclídea dan el mismo ranking." Solo si todos los vectores tienen la misma norma; con normas distintas los rankings divergen (ver ejemplo trabajado).
- "Más capas lineales = más capacidad." Sin no linealidad entre ellas, cualquier pila de capas lineales equivale a una sola transformación lineal.
- "La intuición de 2D/3D escala a dimensión 768." En dimensión alta casi todos los vectores aleatorios son casi ortogonales y las distancias se concentran; hay que razonar con álgebra, no con dibujos.
- "Un embedding cercano implica significado idéntico." Cercanía geométrica refleja coocurrencia estadística en los datos de entrenamiento; puede codificar sesgos o asociaciones espurias, no sinonimia garantizada.
🚀 Del aprendizaje a la operación
En sistemas reales, esta base se convierte en: elegir métrica de similitud y normalización coherentes en todo el pipeline (indexar con coseno y consultar con euclídea es un bug clásico de RAG); vigilar shapes y convenciones fila/columna entre bibliotecas; usar operaciones vectorizadas (BLAS/GPU) en lugar de bucles Python — una diferencia de órdenes de magnitud; y validar que la geometría del embedding realmente separa las clases del dominio propio antes de construir encima.
🧪 Laboratorio
python lab.py
El laboratorio llama a ai_evolution.labs.run_lab("optimization"). Esta
decisión evita 183 implementaciones divergentes: cada clase tiene un entrypoint
propio, pero los motores didácticos se prueban como una biblioteca común.
🔍 Evidencia esperada
- tipo de laboratorio y semilla;
- entradas o decisiones observables;
- resultado estructurado;
- lista
evidencecon hechos que pueden inspeccionarse; - lista
limitationsque impide presentar la demo como producción.
📓 Notebooks
- 📓
notebook.ipynb: recorrido guiado con la materia resumida. - ✍️
notebook_student.ipynb: ejercicios para resolver. - ✅
notebook_solution.ipynb: solución de referencia explicada.
📝 Evaluación
| Criterio | Peso |
|---|---|
| Comprensión conceptual | 25 % |
| Ejecución reproducible | 25 % |
| Interpretación basada en evidencia | 25 % |
| Riesgos, límites y mejora propuesta | 25 % |
Consulta assessment.md para preguntas y criterio de aceptación.
⚠️ Errores comunes
| Síntoma | Causa probable | Corrección |
|---|---|---|
| El código corre, pero no hay conclusión | Se confundió ejecución con aprendizaje | Explica qué demuestra y qué no demuestra |
| El resultado cambia sin explicación | No se registró semilla o configuración | Conserva semilla, versión y parámetros |
| Se promete uso real | Se extrapoló desde una demo educativa | Declara entorno, datos, límites y revisión humana |
| Se copia una métrica aislada | No existe baseline ni costo de error | Añade comparación y criterio de decisión |
❓ Preguntas frecuentes
¿Debo usar una API comercial?
No. El núcleo funciona localmente. Las extensiones LIVE se documentan por separado.
¿El laboratorio representa una implementación industrial?
No por sí solo. Enseña el contrato y el patrón; producción exige integración,
seguridad, observabilidad, pruebas y operación.
¿Dónde profundizo?
Revisa las especializaciones enlazadas en el README raíz y la ruta siguiente.
🔗 Referencias
- Deisenroth, Faisal & Ong. Mathematics for Machine Learning, caps. 2-3 (PDF oficial gratuito) — uso: referencia consultada en su fuente original
- Goodfellow, Bengio & Courville. Deep Learning, cap. 2: Linear Algebra — uso: desarrollo extendido del tema
- 3Blue1Brown. Essence of Linear Algebra (serie visual) — uso: referencia consultada en su fuente original
- Strang, G. MIT OCW 18.06 Linear Algebra — uso: referencia consultada en su fuente original
- NumPy: documentación oficial de álgebra lineal — uso: referencia consultada en su fuente original
📜 Papers que fundamentan esta clase
Bloque generado por
python scripts/link_papers_to_classes.py. La fuente espapers/catalog/papers.json.
| Paper | Año | Qué desbloqueó | Miniatura |
|---|---|---|---|
| P53 · Sobre las líneas y planos de ajuste más próximo a sistemas de puntos en el espacio | 1901 | La primera respuesta al problema de resumir una nube de puntos con menos dimensiones sin privilegiar ninguna variable. | notebook |
Cada ficha explica el problema anterior, la matemática mínima, los límites y los errores de atribución más frecuentes. Para leerlas con método: cómo leer un paper de IA · anexos matemáticos.
📚 Bibliografía de apoyo
Bloque generado por
python scripts/link_sources_to_classes.py. Cada obra lleva su localizador verificado ensources/bibliography.json.
Los papers dicen de dónde salió el mecanismo. Estas obras lo desarrollan con el espacio que una clase no tiene: teoría completa, demostraciones y ejercicios.
| Obra | Edición | Localizador | Papel en esta clase |
|---|---|---|---|
| Goodfellow, Ian, Bengio, Yoshua y Courville, Aaron — Deep Learning | 2016 | ISBN 9780262035613 · web de la obra | citada en las referencias de esta clase · cap. 2 |
| Russell, Stuart J. y Norvig, Peter — Artificial Intelligence: A Modern Approach | 4.ª · 2020 | ISBN 9780134610993 · web de la obra | obra de referencia de la parte 00 · capítulos de introducción y de agentes racionales |
⬅️ Clase anterior
004 — Agentes racionales, entornos y medidas de desempeño
➡️ Siguiente clase
006 — Probabilidad, incertidumbre y estadística básica
📝 Evaluación completa
❓ Preguntas
- Define vectores, matrices y geometría para ia sin usar una marca o framework como definición.
- Explica la relación entre vectores, matrices, producto punto, distancia.
- Ejecuta
lab.pydos veces con la misma semilla. ¿Qué debe conservarse? - Identifica una afirmación permitida y una afirmación exagerada sobre el resultado.
- Propón una prueba negativa o un caso límite.
🏆 Reto verificable
Amplía el resultado del laboratorio con una clave student_extension que incluya:
- el supuesto que estás probando;
- una medición o comprobación;
- la conclusión;
- una limitación.
✅ Criterio de aceptación
- [ ]
lab.pytermina con código 0. - [ ] El resultado contiene
kind,seed,evidenceylimitations. - [ ] La extensión no modifica el comportamiento de otras clases.
- [ ] La interpretación referencia datos impresos por el laboratorio.
- [ ] Se declara al menos un riesgo o condición de no uso.