Normas de vectores (L1, L2) y distancia
Índice de contenidos
- Puntos clave
- ¿Qué es la norma de un vector?
- Norma L1 (Manhattan)
- Norma L2 (euclídea)
- Normas y regularización
- Ejemplos numéricos
- Preguntas frecuentes
- ¿Cuál es la diferencia entre la norma L1 y L2?
- ¿Por qué se usan las normas en las redes neuronales?
- ¿La norma L2 es lo mismo que la distancia euclídea?
- Conclusión
- Fuentes
La norma de un vector mide su longitud o magnitud. La norma L1 suma los valores absolutos de las componentes y la norma L2 aplica el teorema de Pitágoras: raíz de la suma de cuadrados. Ambas definen distancias distintas entre puntos y son la base de la regularización que evita el sobreajuste en las redes neuronales.
La norma de un vector es la manera matemática de medir su longitud, y de esa medida nacen las distancias que una red neuronal usa para comparar datos. Las dos normas más habituales son la norma L1 y L2: la primera suma valores absolutos y la segunda aplica el teorema de Pitágoras. Saber en qué se diferencian aclara desde cómo se calcula un error hasta por qué la regularización mantiene los pesos a raya. La misma explicación está disponible en inglés.
Puntos clave
- La norma de un vector le asigna una longitud no negativa; se escribe entre barras dobles, como
‖x‖. - La norma L1 suma los valores absolutos de las componentes:
‖x‖₁ = Σ|xᵢ|. Se llama distancia Manhattan porque mide recorridos por una cuadrícula. - La norma L2 es la raíz de la suma de cuadrados:
‖x‖₂ = √(Σ xᵢ²). Es la longitud en línea recta, la distancia euclídea de toda la vida. - La distancia entre dos puntos es la norma de su diferencia, y elegir L1 o L2 cambia qué significa que dos vectores estén cerca.
- En una red neuronal, la norma L1 y L2 aparece en las funciones de pérdida y en la regularización que evita el sobreajuste.
¿Qué es la norma de un vector?
Una norma es una función que toma un vector y devuelve un número real que representa su tamaño. Para que merezca el nombre de norma debe cumplir tres reglas: nunca es negativa y solo vale 0 para el vector nulo, se escala igual que el vector (si duplicas el vector, duplicas la norma) y respeta la desigualdad triangular, es decir, el camino directo nunca es más largo que uno con rodeo.
Con la norma llega la distancia. La distancia entre dos vectores x e y es la norma de su diferencia, $|\mathbf{x}-\mathbf{y}|$. Cambiar de norma cambia el mapa de cercanía: dos puntos que parecen próximos con una medida pueden estar lejos con otra. El texto de referencia Mathematics for Machine Learning[1] dedica todo un capítulo a estas nociones de geometría porque son la base de casi cualquier algoritmo que compare ejemplos.
Norma L1 (Manhattan)
La norma L1 suma los valores absolutos de las componentes del vector:
$$|\mathbf{x}|_1 = |x_1| + |x_2| + \dots + |x_n|$$
Para el vector x = (3, 4), la norma L1 vale $|3| + |4| = 7$.
Se la conoce como distancia Manhattan o distancia del taxi porque, en una ciudad con calles en cuadrícula, no puedes atravesar los edificios en diagonal: recorres tantas manzanas hacia un lado y tantas hacia el otro. Esa suma de tramos es exactamente la norma L1. Su rasgo más útil en aprendizaje automático es que trata todas las componentes por igual y tiende a empujar muchas de ellas hasta cero, lo que produce soluciones dispersas.
Norma L2 (euclídea)
La norma L2 es la raíz cuadrada de la suma de los cuadrados de las componentes:
$$|\mathbf{x}|_2 = \sqrt{x_1^2 + x_2^2 + \dots + x_n^2}$$
Es la fórmula del hero de este artículo y no es otra cosa que el teorema de Pitágoras llevado a cualquier número de dimensiones. Para el mismo vector x = (3, 4), la norma L2 vale $\sqrt{3^2 + 4^2} = \sqrt{9 + 16} = \sqrt{25} = 5$.
Esta es la distancia en línea recta, la euclídea, la que mediría una regla entre dos puntos. Es la norma por defecto cuando alguien habla de la longitud de un vector sin más apellidos, y la que usan bibliotecas como NumPy[2] en su función linalg.norm. A diferencia de la L1, penaliza mucho más los valores grandes, porque cada componente entra al cuadrado.
Normas y regularización
Aquí las normas dejan de ser geometría y pasan a moldear el entrenamiento. Regularizar es añadir a la pérdida un término que castiga los pesos grandes para que la red no memorice el conjunto de entrenamiento. La regularización L2, también llamada weight decay, suma el cuadrado de la norma L2 de los pesos y los encoge de forma suave hacia cero. La regularización L1 suma la norma L1 y tiende a poner pesos exactamente en cero, seleccionando así las variables más útiles.
Como recuerdan Goodfellow, Bengio y Courville en Deep Learning[3], «en comparación con la regularización L2, la regularización L1 da lugar a una solución más dispersa». Esa dispersión es la razón de que L1 se use cuando se quiere un modelo que ignore por completo muchas de sus entradas. Para ver dónde encaja esto en el conjunto, conviene repasar el mapa de las matemáticas de las redes neuronales.
Ejemplos numéricos
Los números fijan la intuición mejor que cualquier definición. Toma el vector x = (3, −4): su norma L1 es $|3| + |-4| = 7$ y su norma L2 es $\sqrt{9 + 16} = 5$. El signo no cambia nada, porque ambas normas usan valores absolutos o cuadrados.
Con tres componentes, para v = (1, −2, 2) la norma L1 es $1 + 2 + 2 = 5$ y la norma L2 es $\sqrt{1 + 4 + 4} = \sqrt{9} = 3$. Observa que la L2 siempre es menor o igual que la L1: aquí 3 frente a 5. Y para medir una distancia, la que separa los puntos (1, 2) y (4, 6) es la norma de su diferencia (3, 4), de nuevo 7 en L1 y 5 en L2. Ese mismo producto de restas y cuadrados es el que alimenta al producto escalar y la neurona en cada capa.
Para todo vector se cumple $\|\mathbf{x}\|_2 \le \|\mathbf{x}\|_1$: la distancia en línea recta nunca supera al recorrido por la cuadrícula. Ambas coinciden solo cuando el vector tiene una única componente distinta de cero.
Preguntas frecuentes
¿Cuál es la diferencia entre la norma L1 y L2?
La norma L1 suma los valores absolutos de las componentes y mide recorridos en cuadrícula; la norma L2 suma los cuadrados y saca la raíz, midiendo la línea recta. En la práctica, L1 favorece soluciones dispersas con muchos ceros, mientras que L2 reparte el peso de forma más suave y penaliza más los valores grandes.
¿Por qué se usan las normas en las redes neuronales?
Porque sirven para medir errores y para controlar los pesos. La distancia entre la predicción y la respuesta correcta se expresa como una norma, y añadir la norma de los pesos a la pérdida evita que crezcan sin límite. Ese castigo, la regularización, es una de las herramientas más eficaces contra el sobreajuste.
¿La norma L2 es lo mismo que la distancia euclídea?
Sí cuando se aplica a la diferencia de dos vectores. La norma L2 de un vector es su longitud desde el origen; la distancia euclídea entre dos puntos es la norma L2 de la resta de sus coordenadas. Son la misma fórmula, la raíz de la suma de cuadrados, aplicada a un vector o a la diferencia de dos.
Conclusión
Las normas convierten un vector en un número que podemos comparar, y elegir entre L1 y L2 decide qué significa medir y qué significa estar cerca. La L1 cuenta manzanas y busca ceros; la L2 traza líneas rectas y reparte con suavidad. Con esas dos ideas se entienden por igual la distancia entre datos y la regularización de los pesos. El siguiente paso natural es repasar el mapa de las matemáticas de las redes neuronales y practicar con vectores reales.