Normalización

El objetivo de la normalización es transformar los atributos para que estén en una escala similar. Esto mejora el rendimiento y la estabilidad del entrenamiento del modelo.

Técnicas de normalización de un vistazo

Cuatro técnicas comunes de normalización pueden ser útiles:

  • escalamiento a un rango
  • recorte
  • escalamiento logarítmico
  • puntuación z

En los siguientes gráficos, se muestra el efecto de cada técnica de normalización en la distribución de la característica sin procesar (precio) a la izquierda. Los gráficos se basan en el conjunto de datos del Yearbook de Automotive de Ward de 1985 que forma parte del UCI Machine Learning Repository en Automobile Data Set.

Cinco gráficos: 1. Una distribución sin procesar. 2. La distribución sin procesar escala a un rango, que tiene la misma forma que la distribución sin procesar. 3. La distribución sin procesar recortada, lo que elimina los valores más altos. 4. La distribución sin procesar escalada por logaritmo, que agrupa los datos en el medio de la distribución. 5. La puntuación z de la distribución, que tiene una forma similar a la distribución sin procesar.

Figura 1 Resumen de las técnicas de normalización.

Escalamiento a un rango

Recuerda de MLCC que el escalamiento significa convertir los valores de atributos de punto flotante de su rango natural (por ejemplo, de 100 a 900) en un rango estándar, por lo general, de 0 a 1 (o a veces de -1 a +1). Usa la siguiente fórmula simple para escalar a un rango:

\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]

El escalamiento a un rango es una buena opción cuando se cumplen las siguientes condiciones:

  • Conoces los límites inferior y superior aproximados en tus datos con pocos valores atípicos o sin valores atípicos.
  • Tus datos se distribuyen de manera aproximadamente uniforme en ese rango.

Un buen ejemplo es la edad. La mayoría de los valores de edad se encuentran entre 0 y 90, y cada parte del rango tiene una cantidad considerable de personas.

Por el contrario, no deberías usar el escalamiento de los ingresos, ya que solo unas pocas personas tienen ingresos muy altos. El límite superior de la escala lineal para los ingresos sería muy alto, y la mayoría de las personas estarían incluidas en una pequeña parte de la escala.

Recorte de función

Si tu conjunto de datos contiene valores atípicos extremos, puedes probar el recorte de atributos, que limita todos los valores de atributos anteriores (o inferiores) a un valor determinado. Por ejemplo, puedes recortar todos los valores de temperatura por encima de 40 para que sean exactamente 40.

Puedes aplicar el recorte de atributos antes o después de otras normalizaciones.

Fórmula: Establezca valores mínimos y máximos para evitar valores atípicos

Una comparación entre una distribución nativa y una distribución limitada En la distribución nativa, casi todos los valores se encuentran dentro del rango de 1 a 4, pero un pequeño porcentaje de estos se encuentran entre 5 y 55. En la distribución limitada, todos los valores originalmente superiores a 4 ahora tienen el valor 4.

Figura 2: Comparar una distribución sin procesar y su versión recortada

Otra estrategia de recorte simple consiste en recortar la puntuación z de modo que sea ++-NSIG (por ejemplo, límite a +3-3){}. Ten en cuenta que δ es la desviación estándar.

Escalamiento de registros

El escalamiento de registros calcula el registro de tus valores para comprimir un rango amplio en un rango limitado.

\[ x' = log(x) \]

El escalamiento logarítmico es útil cuando varios de tus valores tienen muchos puntos, mientras que la mayoría de los demás valores tienen pocos puntos. Esta distribución de datos se conoce como distribución de ley de energía. Las calificaciones de películas son un buen ejemplo. En el siguiente gráfico, la mayoría de las películas tienen muy pocas calificaciones (los datos en la cola), mientras que unas pocas tienen muchas calificaciones (los datos en la cabeza). El escalamiento logarítmico cambia la distribución, lo que ayuda a mejorar el rendimiento del modelo lineal.

Dos gráficos que comparan datos sin procesar con el registro de datos sin procesar. El gráfico de datos sin procesar muestra muchas calificaciones en la cabeza, seguidas de una cola larga. El grafo de registro tiene una distribución más uniforme.

Figura 3: Comparar una distribución sin procesar con su registro

Puntuación Z

La puntuación Z es una variación del escalamiento que representa la cantidad de desviaciones estándar de la media. Usa la puntuación z para garantizar que las distribuciones de atributos tengan una media = 0 y un valor std = 1. Es útil cuando hay algunos valores atípicos, pero no tan extremo que necesitas recortar.

La fórmula para calcular la puntuación z de un punto, x, es la siguiente:

\[ x' = (x - μ) / σ \]

Dos gráficos que comparan datos sin procesar con datos normalizados con una puntuación z. Los datos sin procesar muestran una distribución de Poisson aproximada de 5,000 a 45,000.
Los datos normalizados oscilan entre -1 y +4.

Figura 4: Comparar una distribución sin procesar con su distribución con puntuación z.

Ten en cuenta que la puntuación z exprime los valores sin procesar que tienen un rango de ~40,000 a un rango de aproximadamente -1 a +4.

Supongamos que no está seguro de si los valores atípicos realmente son extremos. En este caso, comienza con la puntuación z, a menos que tengas valores de atributos que no quieras que el modelo aprenda. Por ejemplo, los valores son el resultado de un error de medición o una peculiaridad.

Resumen

Técnica de normalizaciónFormulaCuándo utilizarlas
Escalamiento lineal $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ Cuando el atributo se distribuye de manera más o menos uniforme en un rango fijo.
Recorte si x > máx., entonces x' = máx. si x < min, entonces x' = min Cuando el atributo contiene valores atípicos extremos.
Escalamiento de registros x' = registro(x) Cuando la función cumple con la ley de energía.
Puntuación Z x' = (x - μ) / δ Cuando la distribución de atributos no contiene valores atípicos extremos.