Ocho ideas de álgebra lineal detrás de los embeddings, LoRA y PCA
Vectores, matrices, vectores propios, similitud coseno, normas, SVD y rango explicados con pequeños ejemplos de precios de viviendas y las técnicas de IA que dependen de ellos.
No hace falta una carrera de matemáticas para construir con IA, pero un poco de álgebra lineal despeja mucho misterio. Los modelos no pueden leer texto, imágenes o sonido directamente. Todo se convierte primero en números. Una vez hecho eso, sigue haciendo falta una forma de organizar los números para que un modelo pueda comparar elementos, detectar patrones y hacer predicciones, y el álgebra lineal aporta esas herramientas. Estos son ocho conceptos que conviene conocer antes de llamarte ingeniero de IA.
1. Los vectores contienen los datos
Un vector es una lista ordenada de números que describe algo. Una vivienda podría ser:
[300000, 150, 3]
Esos tres valores representan el precio (300.000 $), la superficie (150 metros cuadrados) y el número de dormitorios (3).
¿Por qué importa? Cuando las cosas son vectores, un modelo puede compararlas. Dos viviendas con precio, superficie y número de dormitorios parecidos acaban con vectores parecidos, y así es como el modelo ve que están relacionadas.
2. Las matrices apilan muchos vectores
Piensa en una matriz como una cuadrícula de filas y columnas. Un vector describe un elemento, y una matriz contiene un conjunto entero:
[ 300000 150 3 ] → House 1
[ 450000 200 4 ] → House 2
[ 250000 120 2 ] → House 3
Cada fila es una vivienda y cada columna es una característica: precio, superficie, dormitorios. Las matrices permiten a un sistema manejar muchos datos de una vez, no vector a vector, lo que mantiene eficientes los cálculos con grandes conjuntos de datos.
3. Los valores y vectores propios señalan lo que importa
Un vector propio es un vector especial que, tras una transformación, sigue apuntando a lo largo de la misma recta. Puede alargarse o acortarse, pero no gira hacia una dirección nueva. Su valor propio te dice cuánto se estiró o se comprimió. La relación se escribe así:
Av=λv
A = the transformation
v = the eigenvector (special direction)
λ = the eigenvalue (how much it stretches or shrinks)
Para entenderlo, recuerda que un vector tiene una dirección y una magnitud, es decir, su longitud.
●
↗
/
/
/
/
●
La magnitud es lo larga que es la flecha y la dirección es hacia dónde apunta. Multiplicar un vector por una matriz lo transforma; el resultado puede quedar estirado, encogido, girado o cambiado de alguna otra forma. Un caso minúsculo:
[3].[2 0] = [6]
[4] [0 2] [4]
El vector [3, 4] tiene magnitud 5 y apunta a unos 53,13 grados. Tras la multiplicación se convierte en [6, 8], con magnitud 10 y los mismos 53,13 grados. Se ha hecho el doble de largo sin girar, así que es un vector propio con valor propio 2.
Esto importa porque el análisis espectral pone al descubierto los patrones o direcciones dominantes en los datos. El análisis de componentes principales (PCA) se basa en él para reducir conjuntos de datos conservando la información importante.
4. El producto escalar y la similitud coseno miden el parecido
Toma dos vectores de la misma longitud, combínalos, y el producto escalar devuelve un único número:
A · B = (a₁ × b₁) + (a₂ × b₂) + ... + (aₙ × bₙ)
Aplícalo a dos viviendas:
House 1 (A) = [300000, 150, 3]
House 2 (B) = [450000, 200, 4]
A · B = (300000 × 450000) + (150 × 200) + (3 × 4)
= 135,000,030,012
Ese resultado tiene dos defectos.
El primero es la escala. Los precios son enormes al lado de los dormitorios, así que el precio domina la respuesta y el número de dormitorios apenas cuenta. La solución es escalar las características: llevar cada una a un rango similar, como de 0 a 1, donde 0 es el valor más pequeño observado y 1 el más grande.
// All three features are on roughly the same scale (0–1),
// so price doesn't dominate simply because its original number is much larger.
A' = [0.60,0.50,0.60]
B' = [0.90,0.67,0.80]
El segundo es la longitud. Con un producto escalar sin más, un vector más largo puntúa más alto solo por ser más largo. Hay dos soluciones: normalizar primero los vectores y luego calcular el producto escalar, o calcular el producto escalar y terminar con la similitud coseno. Para normalizar hace falta la norma L2, la longitud en línea recta del vector:
# L2 Norm (Euclidean Distance) → Straight-line distance from the origin.
# It measures the overall length of a vector.
||x||₂ = √(x₁² + x₂²+...+xₙ²)
||A'||₂ = √(0.60²+0.50²+0.60²) ≈ 0.985
A'' = [0.60/0.985, 0.50/0.985 ,0.60/0.985] ≈ [0.609, 0.508, 0.609]
||B'||₂ = √(0.90²+0.67²+0.80²) ≈ 1.378
B'' = [0.90/1.378, 0.67/1.378, 0.80/1.378] ≈[0.653, 0.486, 0.581]
A''⋅B'' = (0.609)(0.653)+(0.508)(0.486)+(0.609)(0.581)
≈ 0.398+0.247+0.354
≈0.999
Y el cálculo del coseno en sí:
# cosine similarity
A' · B' = (0.60×0.90)+(0.50×0.67)+(0.60×0.80)
≈ 1.355
||A'||₂ ≈ 0.985
||B′||₂ ≈ 1.378
Cosine Similarity = (A' · B')/||A'||||B'||
≈ 1.355/(0.985*1.378)
≈ 0.999
Una lectura habitual de la puntuación:
- 1,0 significa la misma dirección, similitud máxima
- de 0,9 a 1,0 es extremadamente similar
- de 0,7 a 0,9 es bastante similar
- de 0,4 a 0,7 es moderadamente similar
- por encima de 0 y por debajo de 0,4 es similitud débil
- 0 significa perpendiculares, sin dirección compartida
- por debajo de 0 significa cada vez más opuestos
- -1,0 significa exactamente opuestos, máxima disimilitud
No tomes esas franjas como ley. Lo que cuenta como similar depende de tus datos y de tu modelo. La idea importa porque la búsqueda por similitud, los sistemas de recomendación y las redes neuronales dependen de lo fuertemente relacionados que estén dos conjuntos de números.
5. Las normas miden tamaño y error
Los vectores pueden representar viviendas, usuarios, productos, imágenes o palabras. Una norma da un único número para el tamaño de un vector, lo que permite comparar vectores por su magnitud. Tres normas habituales:
La norma L1, también llamada distancia Manhattan, suma los valores absolutos de todos los elementos y da la magnitud total.
||x||₁ = ∣x₁∣+∣x₂∣+⋯+∣xₙ∣
La norma L2, o distancia euclídea, es la distancia en línea recta desde el origen, así que capta la longitud total.
||x||₂ = √(x₁² + x₂²+...+xₙ²)
La norma L-infinito solo mira el mayor valor absoluto.
||x||∞ = max(∣x₁∣,∣x₂∣, ⋯ , ∣xₙ∣)
Para «cómo de grande», imagina el vector como una flecha: su norma es la longitud de la flecha, y un vector más largo tiene una norma mayor. Eso es lo que hace funcionar el paso de normalización de antes. Normalizar reescala un vector a longitud 1, de modo que las comparaciones dependen de la dirección y no del tamaño.
Para «cómo de equivocado», trata la diferencia entre la predicción y la realidad como un vector de error. Su norma dice cuánto te has desviado.
yactual=[10,20]
ypredicted=[8,23]
Error = [10,20]−[8,23]=[2,−3]
||error||₁=∣2∣+∣−3∣=5
So the prediction has a total absolute error of 5.
Una norma de error mayor significa una predicción peor. Un valor de 5 no es bueno ni malo por sí solo; se juzga frente a otras predicciones o a una referencia.
En la práctica, las normas aparecen en tres sitios:
- La regularización (L1 y L2) combate el sobreajuste penalizando los pesos grandes en la función de pérdida.
- Las funciones de pérdida las usan: el error absoluto medio se basa en la norma L1 y el error cuadrático medio en la norma L2 al cuadrado.
- El recorte de gradientes usa la norma L2 para mantener bajo control los gradientes que explotan al entrenar redes profundas.
6. La multiplicación de matrices combina información
Una matriz hace algo más que guardar números. Aplicada a un vector de entrada, produce un vector de salida escalándolo, girándolo, reflejándolo o transformándolo de otro modo. Multiplicar matrices mezcla números de ambas para crear otros nuevos. Supón que tres viviendas se describen cada una con tres características escaladas:
Houses =
[ 0.50 0.50 0.50 ]
[ 0.75 1.00 1.00 ]
[ 0.25 0.00 0.00 ]
Ahora supón que el modelo ha aprendido que las características tienen distinta importancia, con el precio en 0,5, la superficie en 0,3 y los dormitorios en 0,2:
Weights =
[ 0.5 ]
[ 0.3 ]
[ 0.2 ]
Multiplica los datos de las viviendas por los pesos:
Houses × Weights → Scores
El resultado:
House 1 → 0.500
House 2 → 0.875
House 3 → 0.125
Una puntuación más alta significa más valor ponderado según la importancia que asignaste. La multiplicación de matrices está en todas partes en el aprendizaje automático, las redes neuronales, el procesamiento de datos y los gráficos por ordenador, porque combina y transforma datos de forma eficiente.
7. La SVD simplifica matrices
Muchas matrices no son cuadradas, y las matrices no cuadradas no tienen vectores propios. La descomposición en valores singulares funciona con cualquier matriz de cualquier forma dividiéndola en tres más sencillas:
A=UΣVᵀ
Léelo así: U gira la salida, Sigma escala las direcciones importantes y V traspuesta gira la entrada. La SVD permite reducir matrices grandes conservando su contenido más importante. Se usa para reducción de dimensionalidad, compresión, sistemas de recomendación y métodos de bajo rango como LoRA. Quédate solo con los componentes más fuertes y los datos y los modelos se vuelven más pequeños, rápidos y baratos.
8. El rango explica los trucos de bajo rango
El rango te dice cuánta información única contiene una matriz. Una matriz puede tener muchas filas y columnas y aun así repetirse, lo que le da un rango bajo. Fíjate en esta:
[1 2]
[2 4]
La segunda fila es simplemente el doble de la primera, así que solo una fila es independiente y el rango es 1.
Por eso son tan populares los métodos de bajo rango. En lugar de guardar cada número, representas el contenido esencial con menos números, reduciendo memoria y cómputo y conservando casi todo lo que importa.
Cómo encaja todo
Entre las ocho, estas ideas te permiten codificar datos, darles otra forma, medir su tamaño, comprobar cuánto se parecen dos cosas y reducirlos a algo más pequeño. No intentes memorizar fórmulas. Procura saber qué hace cada concepto, por qué es útil y dónde aparece en sistemas reales. Esa intuición hace que las herramientas, bibliotecas y modelos que usas sean mucho menos opacos. ¿Hay un noveno concepto que añadirías a la lista?