¿Qué es la reducción de dimensionalidad? ¿Cuál es la diferencia entre la selección y extracción de características?

59

De wikipedia,

La reducción de dimensionalidad o reducción de dimensión es el proceso de reducir el número de variables aleatorias bajo consideración, y puede dividirse en selección de características y extracción de características.

¿Cuál es la diferencia entre la selección de características y la extracción de características?

¿Cuál es un ejemplo de reducción de dimensionalidad en una tarea de procesamiento de lenguaje natural?

alvas
fuente

Respuestas:

52

Simplemente pon:

  • selección de funciones: selecciona un subconjunto del conjunto de funciones original; mientras
  • extracción de características: crea un nuevo conjunto de características a partir del conjunto de características original.

Ejemplos de extracción de características: extracción de contornos en imágenes, extracción de digramas de un texto, extracción de fonemas de la grabación de texto hablado, etc.

La extracción de características implica una transformación de las características, que a menudo no es reversible porque se pierde cierta información en el proceso de reducción de dimensionalidad.

damienfrancois
fuente
2
Ambos entran en la categoría de ingeniería de características, ya que implican la creación o selección manual de características. Reducción de dimensionalidad normalmente implica un cambio de base o alguna otra matemática re-representación de los datos
ragingSloth
1
@ragingSloth, creo que el primero es definitivamente la selección de características, y no la ingeniería de características. Si bien los ejemplos de procesamiento de imágenes y texto parecen ser ingeniería de características
Alexey Grigorev fue el
Tal como lo encontré, para algunas extracciones de características aún puede reconstruir las dimensiones originales aproximadamente. Pero para la selección de características, no hay reconstrucción, ya que ha eliminado las dimensiones inútiles.
Bob
18

La reducción de la dimensionalidad generalmente es elegir una base o representación matemática dentro de la cual puede describir la mayoría, pero no toda la variación dentro de sus datos, conservando así la información relevante, mientras reduce la cantidad de información necesaria para representarla. Hay una variedad de técnicas para hacer esto incluyendo, pero no limitado a PCA, ICAy Matrix Feature Factorization. Estos tomarán los datos existentes y los reducirán a los componentes más discriminatorios. Todos estos le permiten representar la mayor parte de la información en su conjunto de datos con menos características más discriminatorias.

La selección de características es la selección manual de características que son altamente discriminatorias. Esto tiene mucho más que ver con la ingeniería de características que con el análisis, y requiere mucho más trabajo por parte del científico de datos. Requiere una comprensión de qué aspectos de su conjunto de datos son importantes en cualquier predicción que esté haciendo y cuáles no. La extracción de características generalmente implica generar nuevas características que son compuestos de características existentes. Ambas técnicas entran en la categoría de ingeniería de características. En general, la ingeniería de características es importante si desea obtener los mejores resultados, ya que implica crear información que puede no existir en su conjunto de datos y aumentar su relación señal / ruido.

rabioso
fuente
2
Estoy de acuerdo en su mayoría, con precisión: la selección de funciones no necesita hacerse a mano, puede ser automática. Consulte, por ejemplo, el método Lasso ( en.wikipedia.org/wiki/Least_squares#Lasso_method ).
jrouquie
Estoy de acuerdo con su Dimensionality Reductioncláusula, pero difiero un poco en el Feature Engineeringuso, que por lo que he visto es solo Feature Extraction : Feature Selectionse considera por separado. Es solo una diferencia en la terminología.
javadba
7

Como en @damienfrancois, la selección de características de respuesta se trata de seleccionar un subconjunto de características. Por lo tanto, en PNL sería seleccionar un conjunto de palabras específicas (lo típico en PNL es que cada palabra representa una característica con un valor igual a la frecuencia de la palabra o algún otro peso basado en TF / IDF o similar).

La reducción de la dimensionalidad es la introducción del nuevo espacio de características donde se representan las características originales. El nuevo espacio es de menor dimensión que el espacio original. En el caso del texto, un ejemplo sería el truco de hashing donde un fragmento de texto se reduce a un vector de pocos bits (digamos 16 o 32) o bytes. Lo sorprendente es que la geometría del espacio se conserva (dados suficientes bits), por lo que las distancias relativas entre los documentos siguen siendo las mismas que en el espacio original, por lo que puede implementar técnicas estándar de aprendizaje automático sin tener que lidiar con unbound (y un gran número de) dimensiones encontradas en el texto.

iliasfl
fuente
5

La selección de características se trata de elegir algunas características basadas en una puntuación estadística, pero la extracción de características está utilizando técnicas para extraer información de la segunda capa de los datos, por ejemplo, frecuencias interesantes de una señal usando la transformada de Fourier.

La reducción de la dimensionalidad se trata de transformar los datos en un espacio de baja dimensión en el que los datos conservan su estructura euclidiana pero no sufren la maldición de la dimensionalidad. Por ejemplo, suponga que extrae algunas características de palabras de un conjunto de datos donde cada documento puede modelarse como un punto en un espacio n-dimensional yn es demasiado grande (un ejemplo de juguete). En este caso, muchos algoritmos no funcionan de acuerdo con la distorsión de la distancia del espacio de alta dimensión. Ahora necesita reducir la dimensionalidad seleccionando las características más informativas o transformándolas en una variedad de baja dimensión utilizando métodos de reducción de dimensionalidad, por ejemplo, PCA, LLE, etc.[x1,...,xn]

DanielWelke
fuente
De las respuestas disponibles, esta coincide mejor con lo que he visto en varios equipos de Data Science y ML Platform
javadba
3

Para completar la respuesta de Damien, un ejemplo de reducción de dimensionalidad en PNL es un modelo de tema , donde representa el documento mediante un vector que indica los pesos de sus temas constituyentes.

Emre
fuente
2

A1. ¿Qué es la reducción de dimensionalidad? Si piensa en datos en una matriz, donde las filas son instancias y las columnas son atributos (o características), entonces la reducción de dimensionalidad está asignando esta matriz de datos a una nueva matriz con menos columnas. Para la visualización, si piensa en cada columna matriz (atributo) como una dimensión en el espacio de características, la reducción de dimensionalidad es la proyección de instancias desde el espacio dimensional superior (más columnas) hacia un subespacio dimensional inferior (menos columnas). La reducción de dimensionalidad es una proyección subespacial El objetivo típico de esta transformación es (1) preservar la información en la matriz de datos, mientras se reduce la complejidad computacional; (2) mejorar la separabilidad de diferentes clases en los datos.

A2. Reducción de la dimensionalidad como selección de características o extracción de características: utilizaré el omnipresente conjunto de datos de Iris , que podría decirse que es el 'hola mundo' de la ciencia de datos. Brevemente, el conjunto de datos de Iris tiene 3 clases y 4 atributos (columnas). Ilustraré la selección y extracción de características para la tarea de reducir la dimensionalidad del conjunto de datos Iris de 4 a 2.

Calculo la covarianza por pares de este conjunto de datos usando la biblioteca en Python llamada seaborn. El código es: sns.pairplot (iris, tono = "especie", marcadores = ["o", "s", "D"]) La figura que obtengo es Parcela de iris que puedo seleccionar el par de atributos (2 dimensiones) que proporcionan La mayor separación entre las 3 clases (especies) en el conjunto de datos de Iris. Este sería un caso de selección de características.

El siguiente es la extracción de características. Aquí, estoy proyectando el espacio de características de 4 dimensiones de Iris en un nuevo subespacio de 2 dimensiones, que no está alineado en el eje con el espacio original. Estos son nuevos atributos. Por lo general, se basan en la distribución en el espacio original de alta dimensión. El método más popular es el Análisis de componentes principales, que calcula los vectores propios en el espacio original. PCA usando SVD Obviamente, no estamos restringidos a usar solo una proyección lineal y global en un subespacio basado en vectores propios. También podemos usar métodos de proyección no lineal. Aquí hay un ejemplo de PCA no lineal que utiliza redes neuronales. PCA no lineal con NN Se extraen los atributos (dimensiones) del último ejemplo.de los 4 atributos originales usando redes neuronales. Puede experimentar con varios tipos de PCA para el conjunto de datos de iris utilizando este código de métodos pca .

Resumen: Si bien los métodos de extracción de características pueden parecer superiores en rendimiento a la selección de características, la elección se basa en la aplicación. Los atributos de la extracción de características generalmente pierden la interpretación física, lo que puede o no ser un problema basado en la tarea en cuestión. Por ejemplo, si está diseñando una tarea de recopilación de datos muy costosa con sensores costosos y necesita economizar los atributos (número de sensores diferentes), desearía recolectar una pequeña muestra piloto utilizando todos los sensores disponibles y luego seleccionar los que son más informativos para la tarea de recopilación de grandes datos.

Polvo estelar dinámico
fuente
1

Extraído del aprendizaje automático práctico con scikit-learn y Tensorflow

  1. Limpieza de datos: corrija o elimine los valores atípicos (opcional). Complete los valores faltantes (por ejemplo, con cero, media, mediana ...) o suelte sus filas (o columnas).
  2. Selección de funciones (opcional): elimine los atributos que no proporcionan información útil para la tarea.
  3. Ingeniería de características, cuando corresponda: Discretice las características continuas. Descomponer características (p. Ej., Categóricas, fecha / hora, etc.). Agregue transformaciones prometedoras de características (por ejemplo, log (x), sqrt (x), x ^ 2, etc.). Agregue funciones en nuevas funciones prometedoras.
  4. Escalado de características: estandarizar o normalizar características.
Hadi Askari
fuente
0

Varias respuestas excelentes aquí, en particular, la respuesta de @ damienfrancois captura muy sucintamente la idea general.

Sin embargo, no veo ningún ejemplo de ingeniería de características para datos relacionales o de series de tiempo. En ese caso, los científicos de datos generalmente extraen patrones estadísticos a través de las relaciones y con el tiempo. Por ejemplo, para predecir qué pasarán los clientes en el futuro en una base de datos de comercio electrónico, uno podría extraer cantidades como el monto promedio de compra histórica o la frecuencia de compras anteriores.

Escribí un artículo sobre este tema que entra en mucho más detalle con varios ejemplos aquí: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/

bschreck
fuente
0

Permítanme comenzar con el orden inverso que extrae la función y por qué es necesario seleccionar la función y reducir la dimensionalidad.

Comenzando con el uso de la extracción de características que es principalmente para fines de clasificación. La clasificación es el proceso de tomar una decisión sobre a qué categoría pertenece un objeto en particular. Tiene dos fases i) fase de entrenamiento, donde los datos u objetos se aprenden sus propiedades usando algún proceso (extracción de características) ii) fase de prueba, donde el objeto desconocido se clasifica usando las características aprendidas en la fase anterior (entrenamiento).

Extracción de características como su nombre indica dado que el objetivo de los datos es encontrar el patrón subyacente. Este patrón subyacente, que es el término como característica correspondiente a esos datos respectivos. Existen varias metodologías para la extracción de características, como Support Vector Machine (SVM).

Ahora, la extracción de características debería generar características que deberían ser

  • robusto
  • discriminatorio
  • conjunto óptimo de características

Selección de características: un conjunto específico de datos se puede representar mediante una sola característica o un conjunto de características. En el proceso de clasificación, se entrena un sistema para al menos dos clases. Por lo tanto, el sistema de entrenamiento generará una sola característica o un conjunto de características. Estas características deben poseer las propiedades indicadas anteriormente.

El problema surge cuando hay un conjunto de características para cada clase y existe una correlación entre algunas de las características. Eso implica que entre esas características correlacionadas una o pocas son suficientes para la representación y ahí es donde entra en escena la selección de características. Además, estas características deben almacenarse con el aumento en el requisito de memoria del conjunto de características también aumenta.

Luego viene la reducción de dimensionalidad, que no es más que la parte del proceso de selección de características. Es el proceso de elegir el conjunto óptimo de características que mejor describen los datos. Existen muchas técnicas para lo mismo, como el análisis de componentes principales, el análisis de componentes independientes y la factorización matricial, etc.

Chirag Arora
fuente
-3

Por ejemplo ... si tiene una tierra agrícola, entonces seleccionar un área particular de esa tierra sería una selección de características. Si desea encontrar las plantas afectadas en esa área, debe observar cada planta en función de una característica particular que es común en cada planta para encontrar las anormalidades ... para esto estaría considerando la extracción de características. En este ejemplo, la tierra agrícola original corresponde a la reducción de la dimensionalidad.

Divya
fuente
No, no tiene nada que ver con los datos espaciales en particular. También es aplicable a datos temporales, espacio-temporales y otros tipos de datos.
Emre