talón ¿Qué es la Reducción de Dimensionalidad? - Unite.AI
Contáctanos
Clase magistral de IA:

AI 101

¿Qué es la Reducción de Dimensionalidad?

mm
Actualizado on

¿Qué es la Reducción de Dimensionalidad?

Reducción de dimensionalidad es un proceso utilizado para reducir la dimensionalidad de un conjunto de datos, tomando muchas características y representándolas como menos características. Por ejemplo, la reducción de dimensionalidad podría usarse para reducir un conjunto de datos de veinte características a solo unas pocas características. La reducción de dimensionalidad se usa comúnmente en aprendizaje sin supervisión tareas para crear automáticamente clases a partir de muchas funciones. Para comprender mejor por qué y cómo se utiliza la reducción de dimensionalidad, veremos los problemas asociados con los datos de alta dimensión y los métodos más populares para reducir la dimensionalidad.

Más dimensiones conducen al sobreajuste

La dimensionalidad se refiere al número de características/columnas dentro de un conjunto de datos.

A menudo se supone que en el aprendizaje automático, más funciones son mejores, ya que crea un modelo más preciso. Sin embargo, más funciones no se traducen necesariamente en un mejor modelo.

Las características de un conjunto de datos pueden variar ampliamente en términos de cuán útiles son para el modelo, y muchas características tienen poca importancia. Además, cuantas más características contenga el conjunto de datos, más muestras se necesitarán para garantizar que las diferentes combinaciones de características estén bien representadas en los datos. Por lo tanto, el número de muestras aumenta en proporción con el número de características. Más muestras y más funciones significan que el modelo debe ser más complejo y, a medida que los modelos se vuelven más complejos, se vuelven más sensibles al sobreajuste. El modelo aprende demasiado bien los patrones en los datos de entrenamiento y no puede generalizar a los datos fuera de muestra.

Reducir la dimensionalidad de un conjunto de datos tiene varios beneficios. Como se mencionó, los modelos más simples son menos propensos al sobreajuste, ya que el modelo tiene que hacer menos suposiciones sobre cómo se relacionan las características entre sí. Además, menos dimensiones significan que se requiere menos poder de cómputo para entrenar los algoritmos. De manera similar, se necesita menos espacio de almacenamiento para un conjunto de datos que tiene una dimensionalidad más pequeña. Reducir la dimensionalidad de un conjunto de datos también puede permitirle usar algoritmos que no son adecuados para conjuntos de datos con muchas características.

Métodos comunes de reducción de dimensionalidad

La reducción de la dimensionalidad puede realizarse mediante la selección de características o la ingeniería de características. La selección de características es donde el ingeniero identifica las características más relevantes del conjunto de datos, mientras ingeniería de características es el proceso de crear nuevas funciones combinando o transformando otras funciones.

La selección de funciones y la ingeniería se pueden realizar de forma programática o manual. Cuando se seleccionan y diseñan características manualmente, es típico visualizar los datos para descubrir correlaciones entre características y clases. Llevar a cabo la reducción de la dimensionalidad de esta manera puede llevar mucho tiempo y, por lo tanto, algunas de las formas más comunes de reducir la dimensionalidad implican el uso de algoritmos disponibles en bibliotecas como Scikit-learn para Python. Estos algoritmos comunes de reducción de dimensionalidad incluyen: análisis de componentes principales (PCA), descomposición de valores singulares (SVD) y análisis discriminante lineal (LDA).

Los algoritmos utilizados en la reducción de dimensionalidad para tareas de aprendizaje no supervisadas suelen ser PCA y SVD, mientras que los que se utilizan para la reducción de dimensionalidad del aprendizaje supervisado suelen ser LDA y PCA. En el caso de los modelos de aprendizaje supervisado, las características recién generadas simplemente se introducen en el clasificador de aprendizaje automático. Tenga en cuenta que los usos descritos aquí son solo casos de uso generales y no las únicas condiciones en las que se pueden usar estas técnicas. Los algoritmos de reducción de dimensionalidad descritos anteriormente son simplemente métodos estadísticos y se usan fuera de los modelos de aprendizaje automático.

Análisis de componentes principales

Foto: Matriz con principales componentes identificados

Análisis de componentes principales (PCA) es un método estadístico que analiza las características/características de un conjunto de datos y resume las características que son las más influyentes. Las características del conjunto de datos se combinan en representaciones que mantienen la mayoría de las características de los datos pero se distribuyen en menos dimensiones. Puede pensar en esto como "aplastar" los datos desde una representación de mayor dimensión a una con solo unas pocas dimensiones.

Como ejemplo de una situación en la que PCA podría ser útil, piense en las diversas formas en que se podría describir el vino. Si bien es posible describir el vino utilizando muchas características muy específicas, como los niveles de CO2, los niveles de aireación, etc., dichas características específicas pueden ser relativamente inútiles cuando se trata de identificar un tipo específico de vino. En cambio, sería más prudente identificar el tipo en función de características más generales como el sabor, el color y la edad. PCA se puede utilizar para combinar características más específicas y crear características que sean más generales, útiles y menos propensas a causar sobreajuste.

PCA se lleva a cabo determinando cómo las características de entrada varían de la media entre sí, determinando si existe alguna relación entre las características. Para ello se crea una matriz de covariantes, estableciendo una matriz compuesta por las covarianzas respecto a los posibles pares de las características del dataset. Esto se utiliza para determinar las correlaciones entre las variables, con una covarianza negativa que indica una correlación inversa y una correlación positiva que indica una correlación positiva.

Los componentes principales (más influyentes) del conjunto de datos se crean creando combinaciones lineales de las variables iniciales, lo que se hace con la ayuda de conceptos de álgebra lineal llamados Valores propios y vectores propios. Las combinaciones se crean de modo que los componentes principales no estén correlacionados entre sí. La mayor parte de la información contenida en las variables iniciales se comprime en los primeros componentes principales, lo que significa que se han creado nuevas características (los componentes principales) que contienen la información del conjunto de datos original en un espacio dimensional más pequeño.

Valor singular de descomposición

Foto: Por Cmglee – Trabajo propio, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Descomposición de valores singulares (SVD) is se utiliza para simplificar los valores dentro de una matriz, reduciendo la matriz a sus partes constituyentes y facilitando los cálculos con esa matriz. SVD se puede utilizar tanto para matrices de valor real como complejas, pero para los fines de esta explicación, se examinará cómo descomponer una matriz de valores reales.

Suponga que tenemos una matriz compuesta de datos de valor real y nuestro objetivo es reducir la cantidad de columnas/características dentro de la matriz, similar al objetivo de PCA. Al igual que PCA, SVD comprimirá la dimensionalidad de la matriz mientras preserva la mayor variabilidad posible de la matriz. Si queremos operar en la matriz A, podemos representar la matriz A como otras tres matrices llamadas U, D y V. La matriz A se compone de los elementos x * y originales, mientras que la matriz U se compone de los elementos X * X (es una matriz ortogonal). La matriz V es una matriz ortogonal diferente que contiene y * y elementos. La matriz D contiene los elementos x * y y es una matriz diagonal.

Para descomponer los valores de la matriz A, necesitamos convertir los valores originales de la matriz singular a los valores diagonales que se encuentran dentro de una nueva matriz. Cuando se trabaja con matrices ortogonales, sus propiedades no cambian si se multiplican por otros números. Por tanto, podemos aproximar la matriz A aprovechando esta propiedad. Cuando multiplicamos las matrices ortogonales junto con una transpuesta de la Matriz V, el resultado es una matriz equivalente a nuestra A original.

Cuando Matrix a se descompone en matrices U, D y V, contienen los datos que se encuentran dentro de Matrix A. Sin embargo, las columnas más a la izquierda de las matrices contendrán la mayoría de los datos. Podemos tomar solo estas primeras columnas y tener una representación de la Matriz A que tiene muchas menos dimensiones y la mayoría de los datos dentro de A.

Análisis discriminante lineal

 

Izquierda: Matriz antes de LDA, Derecha: Eje después de LDA, ahora separable

Análisis discriminante lineal (LDA) es un proceso que toma datos de un gráfico multidimensional y lo reproyecta en un gráfico lineal. Puede imaginar esto pensando en un gráfico bidimensional lleno de puntos de datos que pertenecen a dos clases diferentes. Suponga que los puntos están dispersos de modo que no se puede trazar una línea que separe claramente las dos clases diferentes. Para manejar esta situación, los puntos que se encuentran en el gráfico 2D se pueden reducir a un gráfico 1D (una línea). Esta línea tendrá todos los puntos de datos distribuidos a lo largo de ella y, con suerte, se puede dividir en dos secciones que representen la mejor separación posible de los datos.

Al llevar a cabo LDA hay dos objetivos principales. El primer objetivo es minimizar la varianza de las clases, mientras que el segundo objetivo es maximizar la distancia entre las medias de las dos clases. Estos objetivos se logran mediante la creación de un nuevo eje que existirá en el gráfico 2D. El eje recién creado actúa para separar las dos clases en función de los objetivos descritos anteriormente. Una vez creado el eje, los puntos encontrados en el gráfico 2D se colocan a lo largo del eje.

Se requieren tres pasos para mover los puntos originales a una nueva posición a lo largo del nuevo eje. En el primer paso, la distancia entre las medias de las clases individuales (la varianza entre clases) se usa para calcular la separabilidad de las clases. En el segundo paso, se calcula la varianza dentro de las diferentes clases, determinando la distancia entre la muestra y la media para la clase en cuestión. En el paso final, se crea el espacio de menor dimensión que maximiza la varianza entre clases.

La técnica LDA logra los mejores resultados cuando las medias de las clases objetivo están muy separadas entre sí. LDA no puede separar efectivamente las clases con un eje lineal si las medias de las distribuciones se superponen.