Norma (L1, L2)

Midiendo la magnitud de vectores en redes neuronales

La norma es una medida matemática que indica el tamaño o longitud de un vector. En redes neuronales, las normas son fundamentales para regularización, cálculo de distancias, estabilidad numérica y análisis de modelos.

Las dos normas más importantes en deep learning son:

  • Norma L1
  • Norma L2 (norma euclidiana)

Definición corta

Una norma es una función que mide la magnitud de un vector.

Definición detallada

Dado un vector:x=[x1,x2,...,xn]x = [x_1, x_2, …, x_n]

🔹 Norma L1

x1=x1+x2++xn||x||_1 = |x_1| + |x_2| + \cdots + |x_n|

👉 Suma de valores absolutos.

🔹 Norma L2

x2=x12+x22++xn2||x||_2 = \sqrt{x_1^2 + x_2^2 + \cdots + x_n^2}

👉 Distancia euclidiana (la más común).

Intuición

La norma mide qué tan grande es un vector.

Ejemplo:x=[3,4]x = [3, 4]

  • Norma L1 → 3+4=73 + 4 = 73+4=7
  • Norma L2 → 9+16=5\sqrt{9 + 16} = 59+16​=5

👉 La L2 representa la distancia real en el espacio.

Interpretación geométrica

Norma L2

Es la distancia desde el origen:

👉 Como medir la longitud de una flecha en el espacio.

Norma L1

Es la distancia “por ejes”:

👉 Como moverse en una cuadrícula (tipo Manhattan).

Comparación L1 vs L2

PropiedadNorma L1Norma L2
CálculoSuma absolutaRaíz cuadrada
SensibilidadMenos sensible a outliersMás sensible
EfectoSparsitySuavizado
GeometríaForma de diamanteForma circular

Normas en redes neuronales

🔹 1. Regularización

L1 (Lasso)

λw1\lambda ||w||_1

👉 Promueve:

  • Pesos exactamente cero
  • Modelos más simples

L2 (Ridge)

λw22\lambda ||w||_2^2

👉 Promueve:

  • Pesos pequeños
  • Estabilidad

🔹 2. Control de magnitud

Evita que los pesos crezcan demasiado.

🔹 3. Cálculo de distancias

Usado en:

  • KNN
  • Clustering
  • Embeddings

🔹 4. Normalización

Escalar vectores para estabilidad:xnorm=xxx_{norm} = \frac{x}{||x||}

Ejemplo paso a paso

x=[1,2,3]x = [1, -2, 3]

L1

x1=1+2+3=6||x||_1 = 1 + 2 + 3 = 6

L2

x2=1+4+9=143.74||x||_2 = \sqrt{1 + 4 + 9} = \sqrt{14} \approx 3.74

Relación con otros conceptos

  • Distancia
  • Regularización
  • Gradiente
  • Optimización
  • Espacio vectorial

Ejemplo en Python

# Cálculo manual
x = [1, -2, 3]
l1 = sum(abs(v) for v in x)
l2 = sum(v**2 for v in x) ** 0.5
print("Norma L1:", l1)
print("Norma L2:", l2)

Ejemplo en NumPy

import numpy as np
x = np.array([1, -2, 3])
l1 = np.linalg.norm(x, ord=1)
l2 = np.linalg.norm(x, ord=2)
print("L1:", l1)
print("L2:", l2)

Ejemplo en PyTorch

import torch
x = torch.tensor([1.0, -2.0, 3.0])
l1 = torch.norm(x, p=1)
l2 = torch.norm(x, p=2)
print("L1:", l1.item())
print("L2:", l2.item())

Ejemplo con regularización

import torch
w = torch.tensor([0.5, -1.2, 0.3], requires_grad=True)
# L1 regularization
l1_reg = torch.norm(w, p=1)
# L2 regularization
l2_reg = torch.norm(w, p=2)
loss = l1_reg + l2_reg
loss.backward()
print("Loss:", loss.item())
print("Gradiente:", w.grad)

Qué muestra este ejemplo

  • Las normas se usan directamente en la función de pérdida
  • Generan gradientes que afectan los pesos
  • Influyen en el entrenamiento

Errores comunes

Confundir L1 y L2

Tienen efectos muy diferentes en el modelo.

Ignorar el cuadrado en L2

En regularización suele usarse w22||w||_2^2∣∣w∣∣22​

No normalizar vectores

Puede afectar estabilidad numérica.

Ejemplo conceptual en ML

Embedding:

[0.2, 0.5, 0.3]

Norma:

👉 indica qué tan “fuerte” es la representación.

Interpretación profunda

Las normas permiten:

  • medir magnitudes
  • controlar complejidad del modelo
  • mejorar generalización
  • estabilizar entrenamiento

👉 Son esenciales en casi todos los algoritmos de machine learning.

Conclusión

La norma (L1 y L2) es una herramienta fundamental para medir magnitudes y controlar el comportamiento de los modelos. No solo describe vectores, sino que también juega un papel clave en la regularización y la estabilidad del entrenamiento.

👉 Entender normas significa entender cómo mantener modelos eficientes y robustos.

Related Concepts

  • Vector
  • Distancia
  • Regularización
  • Gradiente
  • Optimización
  • Espacio vectorial