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 por igual al entrenamiento del modelo, evitando que las características con valores inherentemente mayores (como el salario) 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).

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 la 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, a una mayor precisión del modelo y a modelos más estables y robustos, lo que es beneficioso cuando se entrenan modelos como Ultralytics YOLO para tareas como la detección de objetos.

Técnicas comunes de normalización

Existen varios métodos para reescalar los datos:

  • Escalado Mín-Máx: Podría decirse que es la técnica de normalización más común. Reescala las características linealmente a un intervalo fijo, normalmente [0, 1]. El valor mínimo de la característica original pasa a ser 0, el valor máximo pasa a ser 1, y todos los demás valores caen proporcionalmente entre ambos. Es sensible a los valores atípicos.
  • Normalización de la puntuación Z: Aunque a menudo se agrupa con la normalización, la estandarización es técnicamente diferente. Reescala los datos para que tengan una media de 0 y una desviación típica de 1. A diferencia del escalado Mín-Máx, no limita los valores a un rango específico, lo que puede ser beneficioso para los algoritmos que asumen datos centrados en cero. Más información sobre el Preprocesamiento de Scikit-learn.

La elección entre estas técnicas suele depender del conjunto de datos concreto y de los requisitos del algoritmo de ML que se utilice. Puedes encontrar guías sobre el preprocesamiento de datos anotados, que a menudo implica pasos de normalización.

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

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

  • Normalización (Escalado Mín-Máx): Escala los datos a un intervalo fijo (por ejemplo, de 0 a 1). Es útil cuando los valores de las características deben estar acotados.
  • Normalización (puntuación Z): Centra los datos en torno a una media de 0 con una desviación típica de 1. Se ve menos afectada por los valores atípicos que el escalado Mín-Máx y suele preferirse para algoritmos que suponen datos distribuidos normalmente o centrados en cero.
  • Normalización por lotes: Es una técnica que se aplica dentro de las capas de la red neuronal profunda durante el entrenamiento, no un paso general de preprocesamiento de datos aplicado de antemano. Normaliza las activaciones de una capa anterior para cada minilote, lo que ayuda a estabilizar el entrenamiento y a reducir el desplazamiento interno de las covariables.

Aplicaciones de la normalización

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

  1. Procesamiento de imágenes: En visión por ordenador (VC), los valores de los píxeles de las imágenes (que suelen ir de 0 a 255) suelen normalizarse al intervalo [0, 1] o [-1, 1] antes de introducirlos en modelos para tareas como la clasificación o la segmentación de imágenes. Esto garantiza un escalado de entrada coherente para las Redes Neuronales Convolucionales (CNN). Muchos conjuntos de datos CV populares se benefician de este preprocesamiento.
  2. Fusión de datos multisensor: Cuando se combinan datos de distintos sensores con escalas de medición variables (p. ej., temperatura, presión, humedad) para un modelo predictivo, la normalización garantiza que las lecturas de ningún sensor dominen a las demás debido exclusivamente a su escala. Esto es relevante en campos como la robótica o los vehículos autónomos.
  3. Análisis de imágenes médicas: Al igual que el procesamiento general de imágenes, el análisis de imágenes médicas a menudo requiere normalizar las intensidades de los píxeles o vóxeles en diferentes exploraciones (por ejemplo, IRM, TC) para tener en cuenta las variaciones en los equipos y protocolos de obtención de imágenes, lo que ayuda en tareas como la detección de tumores.

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.

Leer todo