¿POR QUÉ SE REALIZA UN AJUSTE POR RE-ESCALAMIENTO, NORMALIZACIÓN O ESTANDARIZACIÓN SOBRE LOS DATOS EN EL CONTEXTO DEL APRENDIZAJE AUTOMÁTICO?

isadore nabi

I.                   Definiciones generales

Siguiendo a (Lakshmanan, 2019), es necesario definir las diferencias entre re-escalamiento, normalización y estandarización. Re-escalar un vector significa realizar alguna combinación lineal sobre él, es decir, “(…) sumar o restar una constante y luego multiplicar o dividir por una constante, como lo haría para cambiar las unidades de medida de los datos, por ejemplo, para convertir una temperatura de Celsius a Fahrenheit.” A su vez, normalizar un vector “(…) la mayoría de las veces significa dividir por una norma del vector. También se refiere a menudo al cambio de escala por el mínimo y el rango del vector, para hacer que todos los elementos se encuentren entre 0 y 1, lo que lleva todos los valores de las columnas numéricas del conjunto de datos a una escala común.”, mientras que estandarizar un vector significa “(…) la mayoría de las veces significa restar una medida de ubicación y dividir por una medida de escala. Por ejemplo, si el vector contiene valores aleatorios con una distribución gaussiana, puede restar la media y dividir por la desviación estándar, obteniendo así una variable aleatoria “normal estándar” con media 0 y desviación estándar 1.”

II.                Razones generales de uso

En general, las razones para realizar alguno de los tres ajustes anteriores en la etapa de preprocesamiento de los datos son diferentes para cada uno. Así, las razones por las que se debe estandarizar tienen que ver con que la estandarización “(…) de las características alrededor del centro y 0 con una desviación estándar de 1 es importante cuando comparamos medidas que tienen diferentes unidades. Las variables que se miden a diferentes escalas no contribuyen por igual al análisis y podrían terminar creando un sesgo”. En la misma dirección, “(…) el objetivo de la normalización es cambiar los valores de las columnas numéricas en el conjunto de datos a una escala común, sin distorsionar las diferencias en los rangos de valores. Para el aprendizaje automático, no todos los conjuntos de datos requieren normalización. Solo se requiere cuando las características tienen diferentes rangos.”

III.             Contextos de aplicación

La normalización es una buena técnica para usar cuando la distribución de sus datos o cuando sabe que la distribución no es gaussiana. La normalización es útil cuando sus datos tienen escalas variables y el algoritmo que se está utilizando no hace suposiciones sobre la distribución de las observaciones o puntos de datos, como k vecinos más cercanos y redes neuronales artificiales.

La estandarización asume que sus datos tienen una distribución gaussiana (curva de campana). Esto no tiene que ser estrictamente cierto, pero la técnica es más efectiva si su distribución de atributos es gaussiana. La estandarización es útil cuando sus datos tienen escalas variables y el algoritmo que está utilizando hace suposiciones acerca de que sus datos tienen una distribución gaussiana, como regresión lineal, regresión logística, entre otras.

Como se señala en el lugar citado, la normalización es recomendable cuando no conoce la distribución de las observaciones o cuando sabe que la distribución no es gaussiana. La normalización es útil cuando las observaciones tienen escalas variables y el algoritmo empleado no hace suposiciones sobre la distribución de las observaciones, como lo son K-vecinos más cercanos y las redes neuronales artificiales. Por otro lado, la estandarización asume que las observaciones tienen una distribución gaussiana. Esto no tiene que ser estrictamente cierto, pero la técnica es más efectiva si las observaciones siguen tal distribución. La estandarización es útil cuando los datos tienen escalas variables y el algoritmo que se está utilizando hace suposiciones acerca de que los datos tienen una distribución gaussiana, como es el caso de la regresión lineal, la regresión logística y el análisis discriminante lineal.

IV.              Algunas razones teóricas por las que el re-escalamiento, la normalización y la estandarización pueden robustecer a los algoritmos numéricos y a la calidad de los datos

En el contexto del aprendizaje automático a la estandarización se le conoce como re-escalamiento de características[i] (por su nombre en inglés, “feature scalling”) y consiste, siguiendo a (Saini, 2019), en poner los valores en el mismo rango o escala para que ninguna variable esté dominada por la otra y, con ello, se pueda estudiar su relación en términos de la menor heterogeneidad posible. La razón por la que la normalización contribuye a mejorar la robustez del algoritmo K-vecinos más cercanos es porque este algoritmo emplea la función distancia euclidiana, la cual es significativamente sensible a las magnitudes de las características, por lo que se deben normalizar (en el sentido antes definido) de tal forma que “todas pesen igual”. En el caso de la utilización del análisis de componentes principales (PCA) es de importancia fundamental el re-escalar las variables de estudio, porque ya que el PCA busca capturar (en las variables resultantes tras la reducción de dimensionalidad) la mayor variabilidad posible y siendo esto así, las características de mayor magnitud tendrán mayor variabilidad, por lo que estas características tendrán más peso (lo cual no necesariamente cierto en la totalidad de las ocasiones) y ello puede conducir al investigador a conclusiones falsas o a verdades a medias.

Por otro lado, considerando no el PCA globalmente sino únicamente la metodología numérica que lo orquesta, i.e., el método del gradiente descendiente, es posible acelerar el descenso de gradientes mediante el re-escalamiento, lo que implica una disminución considerable del costo computacional. Esta mejora en el desempeño de la metodología referida se debe a que θ descenderá rápidamente en rangos pequeños y lentamente en rangos grandes, por lo que oscilará ineficazmente hasta el óptimo cuando las variables sean muy desiguales, aspecto que corrige el re-escalamiento.

Por otro lado, el re-escalamiento tiene impacto en la calidad de los datos y es un proceso que se realiza en la etapa conocida como preprocesamiento.

Como se señala en (PowerData, 2016), “El preprocesamiento de datos es un paso preliminar durante el proceso de minería de datos. Se trata de cualquier tipo de procesamiento que se realiza con los datos brutos para transformarlos en datos que tengan formatos que sean más fáciles de utilizar (…) En el mundo real, los datos frecuentemente no están limpios, faltan valores clave, contienen inconsistencias y suelen mostrar ruido, conteniendo errores y valores atípicos. Sin un preprocesamiento de datos, estos errores en los datos sobrevivirían y disminuirían la calidad de la minería de datos (…) La falta de limpieza adecuada en los datos es el problema número uno en data warehousing. Algunos de las tareas de preprocesamiento de datos son las siguientes (…) Rellenar valores faltantes (…) Identificar y eliminar datos que se pueden considerar un ruido (…) Resolver redundancia (…) Corregir inconsistencias (…) Los datos están disponibles en varios formatos, tales como formas estáticas, categóricas, numéricas y dinámicas (…) Algunos ejemplos incluyen metadatos, webdata, texto, vídeo, audio e imágenes. Estas formas de datos tan variadas contribuyen a que el procesamiento de datos continuamente se encuentre con nuevos desafíos (…) Además de manejar datos faltantes, es esencial identificar las causas de la falta de datos para evitar que esos problemas evitables con los datos no vuelvan a ocurrir. Las soluciones para datos faltantes incluyen rellenar manualmente los valores perdidos y rellenar automáticamente con la palabra “desconocido” (…) La duplicación de datos puede ser un problema importante en minería de datos, ya que a menudo hace que se pierdan negocios, se pierda el tiempo y sea difícil de tratar. Un ejemplo común de un problema de duplicación de datos típico incluye varias llamadas de ventas al mismo contacto. Las posibles soluciones implican actualizaciones de software o cambiar la forma en que tu negocio controla la gestión de relaciones con clientes. Sin un plan específico y el software adecuado, es difícil eliminar la duplicación de datos (…) Otra fuente común de duplicación de datos es cuando una empresa tiene un número excesivo de bases de datos. Como parte de su preprocesamiento de datos debe revisar periódicamente oportunidades para reducir y eliminar algunas de esas bases de datos. Si no se hace, la duplicación de datos es probable que sea un problema recurrente con el que vas a tener que lidiar una y otra vez (…) Alcanzar la calidad de datos en minería de datos (…) La mayoría de las empresas quieren hacer un mejor uso de sus extensos datos, pero no están seguros acerca de por dónde empezar. La limpieza de datos es un primer paso prudente de un largo camino hacia la mejora de la calidad de los datos. La calidad de los datos puede ser un objetivo difícil de alcanzar sin una metodología eficaz que acelere la limpieza de datos: 1. Reconocer el problema e identificar las causas fundamentales (…) 2. Creación de una estrategia y visión de calidad de datos (…) 3. Priorizar la importancia de los datos (…) 4. Realización de evaluaciones de datos (…) 5. Estimación del ROI para mejorar la calidad de los datos frente al coste de no hacer nada (…) Establecer la responsabilidad de la calidad de los datos.”

Como señala (GeeksforGeeks, 2019), el re-escalamiento es un paso del preprocesamiento de datos que se aplica a variables independientes o características de los datos. Básicamente, ayuda a normalizar los datos dentro de un rango particular. A veces, también ayuda a acelerar los cálculos en un algoritmo, como se mencionó anteriormente.

Finalmente, es necesario acotar que las metodologías de naturaleza numérica-algorítmica conocidas como Naive Bayes, Análisis de Discriminante Lineal, Modelos de Árboles y todo procedimiento estadístico-matemático de la naturaleza antes descrita que no se base metodológicamente en la aplicación (de una u otra forma) de la función distancia del espacio en el que se analicen los datos, que es lo que en Ciencia de Datos se conoce como “algoritmos basados en la distancia”.

V.                REFERENCIAS

GeeksforGeeks. (14 de Octubre de 2019). How and where to apply Feature Scaling? Obtenido de Python: https://www.geeksforgeeks.org/python-how-and-where-to-apply-feature-scaling/

Lakshmanan, S. (16 de Mayo de 2019). How, When, and Why Should You Normalize / Standardize / Rescale Your Data? Obtenido de TOWARDS AI | DATA SCIENCE: https://towardsai.net/p/data-science/how-when-and-why-should-you-normalize-standardize-rescale-your-data-3f083def38ff

PowerData. (30 de Diciembre de 2016). Calidad de datos en minería de datos a través del preprocesamiento. Obtenido de Data Quality: https://blog.powerdata.es/el-valor-de-la-gestion-de-datos/calidad-de-datos-en-mineria-de-datos-a-traves-del-preprocesamiento

Saini, R. (20 de Octubre de 2019). Feature Scaling- Why it is required? Obtenido de Medium: https://medium.com/@rahul77349/feature-scaling-why-it-is-required-8a93df1af310


[i] De hecho, la normalización y la estandarización son formas de re-escalamiento.

Advertisement

One thought on “¿POR QUÉ SE REALIZA UN AJUSTE POR RE-ESCALAMIENTO, NORMALIZACIÓN O ESTANDARIZACIÓN SOBRE LOS DATOS EN EL CONTEXTO DEL APRENDIZAJE AUTOMÁTICO?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s