in

Una guía para principiantes sobre la reducción de la dimensionalidad en el aprendizaje automático

Una guía para principiantes sobre la reducción de la dimensionalidad en el aprendizaje automático

Judy T Raj

11 de marzo de 2019·7 min de lectura

Este es mi primer artículo sobre medio. Aquí, daré una descripción general rápida de qué es la reducción de dimensionalidad, por qué la necesitamos y cómo hacerlo.

La reducción de la dimensionalidad es simplemente el proceso de reducir la dimensión de su conjunto de características. Su conjunto de características podría ser un conjunto de datos con cien columnas (es decir, características) o podría ser una matriz de puntos que forman una gran esfera en el espacio tridimensional. La reducción de la dimensionalidad es reducir el número de columnas, digamos, veinte o convertir la esfera en un círculo en el espacio bidimensional.

Ese está muy bien, pero ¿por qué debería importarnos? ¿Por qué descartaríamos 80 columnas de nuestro conjunto de datos cuando podríamos alimentarlo directamente con nuestro algoritmo de aprendizaje automático y dejar que haga el resto?

Nos preocupamos porque la maldición de la dimensionalidad exige que lo hagamos. La maldición de la dimensionalidad se refiere a todos los problemas que surgen al trabajar con datos en las dimensiones superiores, que no existían en las dimensiones inferiores.

A medida que aumenta el número de características, el número de muestras también aumenta proporcionalmente. Cuantas más características tengamos, mayor número de muestras necesitaremos para tener todas las combinaciones de valores de características bien representadas en nuestra muestra.

La maldición de la dimensionalidad

A medida que aumenta el número de funciones, el modelo se vuelve más complejo. Cuanto mayor sea el número de funciones, mayores serán las posibilidades de sobreajuste. Un modelo de aprendizaje automático que se entrena en una gran cantidad de funciones, se vuelve cada vez más dependiente de los datos en los que fue entrenado y, a su vez, se sobreajusta, lo que resulta en un rendimiento deficiente en datos reales, superando el propósito.

Evitar el sobreajuste es una motivación importante para realizar la reducción de dimensionalidad. Cuantas menos características tengan nuestros datos de entrenamiento, menos suposiciones hará nuestro modelo y más simple será. Pero eso no es todo y la reducción de la dimensionalidad tiene muchas más ventajas que ofrecer, como

  1. Los datos menos engañosos significan que mejora la precisión del modelo.
  2. Menos dimensiones significan menos informática. Menos datos significa que los algoritmos se entrenan más rápido.
  3. Menos datos significa menos espacio de almacenamiento requerido.
  4. Menos dimensiones permiten el uso de algoritmos no aptos para una gran cantidad de dimensiones
  5. Elimina las funciones redundantes y el ruido.

La reducción de la dimensionalidad se puede realizar tanto mediante métodos de selección de características como mediante métodos de ingeniería de características.

La selección de características es el proceso de identificar y seleccionar características relevantes para su muestra. La ingeniería de características está generando manualmente nuevas características a partir de características existentes, aplicando alguna transformación o realizando alguna operación en ellas.

La selección de funciones se puede realizar de forma manual o mediante programación. Por ejemplo, considere que está tratando de construir un modelo que predice el peso de las personas y ha recopilado un gran corpus de datos que describe a cada persona de manera bastante detallada. Si tuviera una columna que describiera el color de la ropa de cada persona, ¿sería de mucha ayuda para predecir su peso? Creo que podemos estar de acuerdo con seguridad en que no será así. Esto es algo que podemos dejar sin más preámbulos. ¿Qué pasa con una columna que describe sus alturas? Eso es un sí definitivo. Podemos hacer estas selecciones manuales simples de características y reducir la dimensionalidad cuando la relevancia o irrelevancia de ciertas características son obvias o de conocimiento común. Y cuando no es obvio, hay muchas herramientas que podríamos emplear para ayudar en nuestra selección de funciones.

  1. Los mapas de calor que muestran la correlación entre características son una buena idea.
  2. Por lo tanto, es solo visualizar la relación entre las características y la variable de destino al graficar cada característica contra la variable de destino.

Ahora veamos algunos métodos programáticos para la selección de funciones de la popular biblioteca de aprendizaje automático sci-kit learn, a saber,

  1. Umbral de varianza y
  2. Selección univariante.

El umbral de variación es un enfoque de referencia para la selección de características. Como sugiere el nombre, elimina todas las características donde la variación a lo largo de la columna no excede un valor de umbral. La premisa es que una característica que no varía mucho en sí misma tiene muy poco poder predictivo.

>>> X = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]
>>> selector = VarianceThreshold()
>>> selector.fit_transform(X)
array([[2, 0],
[1, 4],
[1, 1]])

La selección de características univariadas utiliza pruebas estadísticas para seleccionar características. Univariante describe un tipo de datos que consta de observaciones sobre una sola característica o atributo. La selección de características univariadas examina cada característica individualmente para determinar la fuerza de la relación de la característica con la variable de respuesta. Algunos ejemplos de pruebas estadísticas que se pueden utilizar para evaluar la relevancia de las características son Correlación de Pearson, Coeficiente de información máximo, Correlación de distancia, ANOVA y Chi-cuadrado. Chi-cuadrado se utiliza para encontrar la relación entre variables categóricas y se prefiere Anova cuando las variables son continuas.

Scikit-learn expone rutinas de selección de características como SelectKBest, SelectPercentile o GenericUnivariateSelect como objetos que implementan un método de transformación basado en la puntuación de anova o chi2 o información mutua. Sklearn ofrece f_regression y mutual_info_regression como funciones de puntuación para la regresión y f_classif y mutual_info_classif para la clasificación.
F-Test comprueba y solo captura relaciones lineales entre características y etiquetas. Una característica altamente correlacionada recibe una puntuación más alta y las características menos correlacionadas reciben una puntuación más baja. La correlación es muy engañosa ya que no captura relaciones no lineales fuertes. Por otro lado, los métodos de información mutua pueden capturar cualquier tipo de dependencia estadística, pero al ser no paramétricos, requieren más muestras para una estimación precisa.

La selección de características es el método de reducción de dimensionalidad más simple. Más adelante veremos algunos métodos de ingeniería de características para la reducción de dimensionalidad.

Los métodos de reducción de dimensionalidad más comunes y conocidos son los que aplican transformaciones lineales, como

  1. PCA (análisis de componentes principales): popularmente utilizado para la reducción de dimensionalidad en datos continuos, PCA rota y proyecta datos en la dirección de variación creciente. Las características con la varianza máxima son los componentes principales.
  2. Análisis factorial: técnica que se utiliza para reducir una gran cantidad de variables a una menor cantidad de factores. Los valores de los datos observados se expresan como funciones de una serie de posibles causas para encontrar cuáles son las más importantes. Se supone que las observaciones son causadas por una transformación lineal de factores latentes de menor dimensión y ruido gaussiano añadido.
  3. LDA (Análisis discriminante lineal): proyecta datos de manera que se maximiza la separabilidad de clases. La proyección junta los ejemplos de la misma clase. Los ejemplos de diferentes clases se colocan muy separados por la proyección
1*4ibdHcy6xlV7 HU3KjonsQ

PCA orienta los datos a lo largo de la dirección del componente con la máxima variación, mientras que LDA proyecta los datos para indicar la separabilidad de clases.

Los métodos de transformación no lineal o los métodos de aprendizaje múltiples se utilizan cuando los datos no se encuentran en un subespacio lineal. Se basa en la hipótesis de la variedad que dice que en una estructura de alta dimensión, la información más relevante se concentra en un pequeño número de variedades de baja dimensión. Si un subespacio lineal es una hoja de papel plana, entonces una hoja de papel enrollada es un ejemplo simple de una variedad no lineal. De manera informal, esto se denomina rollo suizo, un problema canónico en el campo de la reducción de dimensionalidad no lineal. Algunos de los métodos de aprendizaje más populares son:

  1. Escala multidimensional (MDS): técnica utilizada para analizar similitudes o diferencias de datos como distancias en espacios geométricos. Proyecta datos a una dimensión más baja, de modo que los puntos de datos que están cerca entre sí (en términos de distancia euclidiana) en la dimensión superior, también están cerca en la dimensión inferior.
  2. Mapeo de características isométricas (Isomap): proyecta datos a una dimensión más baja mientras se conserva la distancia geodésica (en lugar de la distancia euclidiana como en MDS). La distancia geodésica es la distancia más corta entre dos puntos en una curva.
  3. Incrustación localmente lineal (LLE): recupera la estructura no lineal global a partir de ajustes lineales. Cada parche local del colector se puede escribir como una suma lineal ponderada de sus vecinos con suficientes datos.
  4. Eigenmapping hessiano (HLLE): proyecta datos a una dimensión más baja mientras se preserva el vecindario local como LLE pero usa el operador hessiano para lograr mejor este resultado y de ahí el nombre.
  5. Incrustación espectral (mapas propios de Laplacia): utiliza técnicas espectrales para realizar la reducción de dimensionalidad mediante el mapeo de entradas cercanas a salidas cercanas. Conserva la localidad en lugar de la linealidad local.
  6. Incrustación de vecinos estocástica distribuida en t (t-SNE): Calcula la probabilidad de que los pares de puntos de datos en el espacio de alta dimensión estén relacionados y luego elige una incrustación de baja dimensión que produce una distribución similar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

tablet catalogo netflix encima laptop

Cómo cambiar el idioma de Netflix en inglés a español en mi móvil Android o iPhone

Cómo configurar Linux Out of Memory Killer