Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL
cos(a,b) = (a·b) / (‖a‖·‖b‖)
rango [−1, 1]
invariante al escalado de cualquiera de los dos vectores
La similitud coseno mide el ángulo entre dos vectores, descartando sus longitudes. En espacios de embeddings es la medida estándar, y la razón es concreta: la norma de un embedding tiende a correlacionar con la frecuencia del término en el corpus, que no es información semántica.
La diferencia con la distancia euclídea se ve mejor con un caso extremo. Un vector y su doble apuntan exactamente en la misma dirección, así que su coseno es 1 —máxima similitud—, mientras que su distancia euclídea puede ser enorme. Para «¿hablan de lo mismo?» el coseno acierta y la distancia no.
El producto escalar sin normalizar es lo que usa la atención, y ahí la magnitud sí influye deliberadamente: un token puede aprender a tener clave de norma grande para atraer más atención. Es una decisión de diseño distinta, no un descuido, y por eso la atención necesita el factor 1/√d mientras que la búsqueda por similitud usa coseno.
La consecuencia de ingeniería es que si los vectores se normalizan previamente, el producto escalar es el coseno. Las bases de datos vectoriales explotan esto: normalizan al indexar y luego usan producto escalar, que es más rápido y está mejor optimizado que calcular normas en cada consulta.
Coseno frente a distancia euclídea sobre la misma consulta.
consulta: (0,8 ; 0,5 ; 0,2 ; 0,1)
candidato coseno distancia euclídea
muy relacionado 0,994667 0,100000
relacionado 0,787527 0,608276
ortogonal 0,0xxxxx 1,352770
Efecto del escalado:
multiplicar un candidato por 10
coseno: no cambia ✓
distancia: se multiplica por ~10 ✗
En embeddings la norma suele reflejar frecuencia,
no significado: por eso se usa coseno.
Similitud coseno: la métrica estándar entre embeddings.
python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/322-embeddings-y-similitud-coseno/lab.py
compmath run 322
consultasimilitudesdistancias_euclideasel_escalado_no_afecta_al_cosenoel_escalado_si_afecta_a_la_distanciarangomas_similaruso{
"consulta": [
0.8,
0.5,
0.2,
0.1
],
"similitudes": {
"muy_relacionado": 0.994667,
"relacionado": 0.787527,
"ortogonal": 0.0,
"escalado_x10": 1.0
},
"distancias_euclideas": {
"muy_relacionado": 0.1,
"relacionado": 0.608276,
"ortogonal": 1.352775,
"escalado_x10": 8.725824
},
"el_escalado_no_afecta_al_coseno": true,
"el_escalado_si_afecta_a_la_distancia": true,
"rango": "[-1, 1]"
}
Búsqueda semántica, bases de datos vectoriales, RAG, sistemas de recomendación y deduplicación de documentos.
Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.
10.48550/arxiv.1310.4546 verificado en DataCite (2026-08-19).10.48550/arxiv.1908.10084 verificado en DataCite (2026-08-19).