Parte: 00 — Fundamentos, historia y método científico
Nivel: fundamentos · Horas estimadas: 4
Laboratorio: optimization · Estado: EXECUTABLE_CORE
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.
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.
vectores, matrices, producto punto, distancia
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.
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: 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.
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.
- 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.
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.
| 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
- "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.
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.
python lab.pyEl 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.
- 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.
- 📓
notebook.ipynb: recorrido guiado con la materia resumida. - ✍️
notebook_student.ipynb: ejercicios para resolver. - ✅
notebook_solution.ipynb: solución de referencia explicada.
| 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.
| 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 |
¿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.
- 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
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.
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 |