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 = 1perfil_juan = np.array([1,5])# ciencia ficción = 1, comedia = 5norma_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.