Módulo 3: Similaridad y Distancia
7. Ejercicio Integrador: Calcular y Comparar Métricas
Descripción del ejercicio
Este es el ejercicio integrador del Módulo 3. Aquí vas a calcular distancias euclidianas, Manhattan, y similaridad coseno para vectores 2D/3D, comparar resultados, y decidir qué métrica usar en diferentes casos.
Parte 1: Cálculos manuales
Datos:
A = [3, 4]
B = [6, 8]
C = [0, 5]
D = [9, 1]
Tarea 1.1: Calcular todas las distancias euclidianas
Calcula:
- dist(A, B)
- dist(A, C)
- dist(A, D)
- dist(B, C)
Ver soluciones
dist(A, B) = √((6-3)² + (8-4)²) = √(9+16) = 5
dist(A, C) = √((0-3)² + (5-4)²) = √(9+1) ≈ 3.16
dist(A, D) = √((9-3)² + (1-4)²) = √(36+9) ≈ 6.71
dist(B, C) = √((0-6)² + (5-8)²) = √(36+9) ≈ 6.71
Tarea 1.2: Calcular similaridades coseno
Calcula:
- cos(A, B)
- cos(A, C)
- cos(A, D)
Ver soluciones
cos(A, B):
A·B = 3×6 + 4×8 = 50
||A|| = 5, ||B|| = 10
cos = 50/(5×10) = 1.0
cos(A, C):
A·C = 3×0 + 4×5 = 20
||A|| = 5, ||C|| = 5
cos = 20/25 = 0.8
cos(A, D):
A·D = 3×9 + 4×1 = 31
||A|| = 5, ||D|| = √82 ≈ 9.06
cos = 31/(5×9.06) ≈ 0.68
Parte 2: Interpretación
Pregunta 2.1:
Según euclidiana, ¿cuál vector está más cerca de A?
Según coseno, ¿cuál vector es más similar a A?
Ver respuesta
Euclidiana: C está más cerca de A (dist = 3.16)
Coseno: B es más similar a A (cos = 1.0)
Interpretación: B tiene la misma dirección que A (solo diferente magnitud). Si la dirección representa "tipo de concepto", B es más similar conceptualmente.
Parte 3: Casos de uso
Caso 1: Embeddings de texto
Tienes embeddings de 3 documentos:
Doc1: [0.6, 0.8] (normalizado)
Doc2: [0.6, 0.8] (normalizado)
Doc3: [0.8, 0.6] (normalizado)
Query: [0.7, 0.71] (normalizado)
¿Qué métrica usas? ¿Por qué?
Ver respuesta
Métrica: Coseno (o producto punto, equivalente si están normalizados)
Por qué:
- Embeddings normalizados → Solo dirección importa
- Coseno ignora magnitud → Perfecto para este caso
- Valores interpretables (0.95 vs 0.7 es claro)
Caso 2: Coordenadas GPS
Tienes 3 ubicaciones (latitud, longitud):
Casa: [19.43, -99.13]
Trabajo: [19.45, -99.15]
Restaurante: [19.50, -99.10]
¿Qué métrica usas para "encontrar el lugar más cercano a casa"?
Ver respuesta
Métrica: Euclidiana (o Haversine para precisión geográfica)
Por qué:
- Distancia física importa
- Magnitud tiene significado real (kilómetros)
- Coseno no apropiado (no importa "dirección conceptual")
Parte 4: Reflexión
Pregunta 4.1:
¿Por qué semantic search usa coseno en lugar de euclidiana?
Ver guía de reflexión
Respuesta:
-
Embeddings capturan dirección (tipo de concepto), no magnitud
- Magnitud puede ser ruido (frecuencia, longitud de texto)
- Coseno ignora magnitud → Solo mide dirección
-
Robusto en alta dimensión
- En 1536D, distancias euclidianas son todas similares
- Ángulos (coseno) son más discriminativos
-
Valores interpretables
- Coseno ∈ [-1, 1] → 0.95 = muy similar, 0.3 = poco similar
- Euclidiana ∈ [0, ∞) → Difícil interpretar "20 es mucho o poco?"
Resumen del ejercicio
Lo que hiciste:
- ✅ Calculaste euclidiana y coseno manualmente
- ✅ Comparaste resultados (diferentes rankings)
- ✅ Decidiste qué métrica usar según caso de uso
- ✅ Reflexionaste sobre por qué coseno en semantic search
Intuición consolidada:
"Coseno mide dirección (tipo de concepto), euclidiana mide distancia (magnitud importa). Para embeddings, solo dirección importa → coseno es superior."
Conclusión del Módulo 3
Felicidades por completar el Módulo 3: Similaridad y Distancia. 🎉
Lo que lograste:
- ✅ Entiendes distancia euclidiana (línea recta)
- ✅ Conoces Manhattan y otras métricas
- ✅ Dominas similaridad coseno (ángulo)
- ✅ Comparas métricas (trade-offs)
- ✅ Sabes por qué coseno en AI (dirección > magnitud)
- ✅ Ves cómo se usa en producción (Pinecone, Weaviate)
- ✅ Aplicaste todo conceptualmente
Intuición clave del módulo:
Similaridad coseno es la métrica estándar en semantic search porque mide dirección (tipo de concepto), no magnitud (ruido). En alta dimensión, coseno es más robusto y discriminativo que euclidiana.
Próximo módulo: Módulo 4: Búsqueda por Proximidad — kNN conceptual, índices (HNSW, IVF) sin implementar.