Glosario

Normalización

¡Descubre el poder de la normalización en el aprendizaje automático! Aprende cómo mejora el entrenamiento de los modelos, aumenta el rendimiento y garantiza la solidez de las soluciones de IA.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

La normalización es una técnica fundamental de preprocesamiento de datos muy utilizada en el aprendizaje automático (AM) y la ciencia de datos. Su objetivo principal es reescalar las características numéricas de los datos a un rango estándar común, a menudo entre 0 y 1 o -1 y 1, sin distorsionar las diferencias en los rangos de valores. Este proceso garantiza que todas las características contribuyan de forma más equitativa al entrenamiento del modelo, evitando que las características con valores inherentemente mayores (como el salario en un conjunto de datos) influyan desproporcionadamente en el resultado en comparación con las características con valores menores (como los años de experiencia). La normalización es especialmente crucial para los algoritmos sensibles al escalado de características, como los métodos basados en el descenso de gradiente utilizados en el aprendizaje profundo (AD) y diversos algoritmos de optimización.

Por qué es importante la normalización

Los conjuntos de datos del mundo real suelen contener características con escalas y unidades muy diferentes. Por ejemplo, en un conjunto de datos para predecir la pérdida de clientes, el "saldo de cuenta" puede oscilar entre cientos y millones, mientras que el "número de productos" puede variar entre 1 y 10. Sin normalización, los algoritmos de ML que calculan distancias o utilizan gradientes, como las máquinas de vectores de soporte (SVM) o las redes neuronales (NN), podrían percibir incorrectamente la característica con el rango mayor como más importante simplemente debido a su escala. La normalización nivela el campo de juego, asegurando que la contribución de cada característica se basa en su poder predictivo, no en su magnitud. Esto conduce a una convergencia más rápida durante el entrenamiento (como se observa en la reducción de las épocas), a una mayor precisión del modelo y a modelos más estables y robustos. Esta estabilidad es beneficiosa cuando se entrenan modelos como Ultralytics YOLO para tareas como la detección de objetos o la segmentación de instancias, mejorando potencialmente métricas como la Precisión Media Media (mAP).

Técnicas comunes de normalización

Existen varios métodos para reescalar datos, cada uno adecuado para situaciones diferentes:

  • Escala Mín-Máx: Reescala las características a un intervalo fijo, normalmente [0, 1]. Se calcula como (valor - mín) / (máx - mín). Este método conserva la forma de la distribución original, pero es sensible a los valores atípicos.
  • Estandarización de la puntuación Z (Escala estándar): Reescala los rasgos para que tengan una media de 0 y una desviación típica de 1. Se calcula como: (valor - media) / desviación típica. A diferencia del escalado Mín-Máx, no vincula los valores a un intervalo específico, lo que puede ser un inconveniente para los algoritmos que requieren entradas dentro de un intervalo acotado, pero maneja mejor los valores atípicos. Puedes encontrar más información sobre estos y otros métodos en la documentación de Preprocesamiento de Scikit-learn.
  • Escala robusta: Utiliza estadísticos robustos a los valores atípicos, como el rango intercuartílico (IQR), en lugar de mín/máx o media/desv. std. Es especialmente útil cuando el conjunto de datos contiene valores atípicos significativos. Más información sobre Escala robusta.

La elección entre estas técnicas suele depender del conjunto de datos específico (como los que se encuentran en Ultralytics Datasets) y de los requisitos del algoritmo de ML que se utilice. Las guías sobre preprocesamiento de datos anotados suelen cubrir los pasos de normalización relevantes para tareas específicas.

Normalización vs. Estandarización vs. Normalización por lotes

Es importante distinguir la normalización de los conceptos relacionados:

  • Estandarización: A menudo utilizada indistintamente con la normalización de puntuación Z, esta técnica transforma los datos para que tengan media cero y varianza unitaria. Mientras que la normalización suele ajustar los datos a un intervalo fijo (por ejemplo, de 0 a 1), la normalización centra los datos en torno a la media y los ajusta en función de la desviación típica, sin limitarlos necesariamente a un intervalo específico.
  • Normalización por lotes: Es una técnica que se aplica dentro de una red neuronal durante el entrenamiento, concretamente a las entradas de las capas o activaciones. Normaliza las salidas de una capa de activación anterior para cada minilote, estabilizando y acelerando el proceso de entrenamiento al reducir el problema del desplazamiento interno de las covariables. A diferencia de la normalización de características (Min-Max o Z-score), que es un paso de preprocesamiento aplicado al conjunto de datos inicial, la Normalización por Lotes forma parte de la propia arquitectura de la red, adaptándose dinámicamente durante el entrenamiento del modelo.

Aplicaciones de la normalización

La normalización es un paso omnipresente en la preparación de datos para diversas tareas de Inteligencia Artificial (IA) y ML:

En resumen, la normalización es un paso vital del preprocesamiento que escala las características de los datos a un rango consistente, mejorando el proceso de entrenamiento, la estabilidad y el rendimiento de muchos modelos de aprendizaje automático, incluidos los desarrollados y entrenados con herramientas como Ultralytics HUB. Garantiza una contribución justa de las características y es esencial para los algoritmos sensibles a la escala de entrada, contribuyendo a soluciones de IA más robustas y precisas.

Leer todo