Resumen

Las normas de vectores son la forma más clara y práctica de medir la intensidad, longitud y distancia en datos. En machine learning ayudan a comparar perfiles, controlar modelos con regularización y estandarizar vectores para analizar solo su dirección. Aquí verás la norma L2, su interpretación con el teorema de Pitágoras, y cómo calcular L1, L0 y L∞ con NumPy.

¿Qué es la norma y para qué sirve en machine learning?

La norma es la magnitud de un vector: un solo número que resume qué tan intenso es un conjunto de preferencias o características. En práctica, se usa para medir distancias, penalizar pesos demasiado grandes y normalizar vectores a longitud uno.

¿Cómo mide distancia en perfiles y contenidos?

  • Compara tu vector de gustos con el de una película.
  • Calcula la cercanía en el espacio vectorial.
  • Base para recomendaciones personalizadas.

¿Cómo estabiliza modelos con regularización?

  • Detecta pesos con magnitudes grandes.
  • Penaliza para evitar errores típicos del overfitting.
  • Mantiene el modelo estable.

¿Cómo estandariza para comparar direcciones?

  • Ajusta vectores a longitud uno.
  • Permite comparar solo la dirección.
  • Útil en texto y similitud de perfiles.

¿Cómo se calcula la norma L2 y cómo se interpreta?

La norma L2 o euclidiana es la distancia en línea recta desde el origen hasta la punta del vector. Se entiende con el teorema de Pitágoras: la hipotenusa del triángulo formado por los componentes del vector es su longitud.

¿Cómo se implementa en código con NumPy?

Ejemplo en Google Colab con NumPy y linalg:

import numpy as np

perfil_ana = np.array([5, 1])  # ciencia ficción = 5, comedia = 1
perfil_juan = np.array([1, 5])  # ciencia ficción = 1, comedia = 5

norma_ana = np.linalg.norm(perfil_ana)
norma_juan = np.linalg.norm(perfil_juan)

print(f"norma de ana: {norma_ana:.2f}")
print(f"norma de juan: {norma_juan:.2f}")
# salida ejemplo: 5.10 y 5.10

Interpretación: aunque Ana prefiere mucho la ciencia ficción y Juan la comedia, la intensidad total de sus gustos es igual. La norma L2 devuelve 5.10 para ambos, indicando misma magnitud aunque diferente dirección.

¿Qué diferencias hay entre L1, L0 y L infinito y cómo calcularlas?

Además de L2, es clave conocer otras normas para distintos objetivos: robustez, dispersión y máximo impacto. Todas se calculan con NumPy de forma simple.

¿Cómo calcular la norma L1 y para qué sirve?

  • Suma de valores absolutos.
  • Mide distancia en “ángulos rectos”.
  • Útil cuando se busca robustez frente a outliers.
import numpy as np

vector = np.array([3, -4, 0])

norma_L1 = np.linalg.norm(vector, ord=1)
print(f"norma L1 del vector: {norma_L1}")
# salida: 7

¿Cómo medir dispersión con L0 en la práctica?

  • Cuenta cuántos componentes son distintos de cero.
  • Útil para evaluar escasez o dispersión de características.
norma_L0 = np.count_nonzero(vector)
print(f"norma L0 del vector: {norma_L0}")
# salida: 2

¿Cómo obtener el peor caso con L infinito?

  • Devuelve el valor absoluto más grande.
  • Informa el impacto máximo de una característica.
norma_Linf = np.linalg.norm(vector, ord=np.inf)
print(f"norma L infinito del vector: {norma_Linf}")
# salida: 4.0

¿Te animas a practicar? imagina dos vectores de características para casas: casa 1 = [120, 3] y casa 2 = [100, 4], donde los componentes son metros cuadrados y número de habitaciones. Calcula la norma L2 de ambos y responde: ¿qué podría significar una norma mayor en este contexto?

Comparte tus resultados y tu interpretación en los comentarios.