Los autoencoders son redes neuronales que aprenden una representación comprimida de la entrada para luego reconstruirla, de modo que puedan usarse para reducir la dimensionalidad. Están compuestos por un codificador y un decodificador (que pueden ser redes neuronales separadas). La reducción de la dimensionalidad puede ser útil para tratar o atenuar los problemas relacionados con la maldición de la dimensionalidad, donde los datos se vuelven escasos y es más difícil obtener "significancia estadística". Por lo tanto, los codificadores automáticos (y algoritmos como PCA) se pueden usar para lidiar con la maldición de la dimensionalidad.
¿Por qué nos importa la reducción de dimensionalidad específicamente usando autoencoders? ¿Por qué no podemos simplemente usar PCA, si el propósito es la reducción de dimensionalidad?
¿Por qué necesitamos descomprimir la representación latente de la entrada si solo queremos realizar la reducción de dimensionalidad, o por qué necesitamos la parte del decodificador en un autoencoder? ¿Cuáles son los casos de uso? En general, ¿por qué necesitamos comprimir la entrada para luego descomprimirla? ¿No sería mejor usar la entrada original (para empezar)?
Respuestas:
Es importante pensar qué tipo de patrones en los datos se representan.
Suponga que tiene un conjunto de datos de imágenes en escala de grises, de modo que cada imagen tenga una intensidad uniforme. Como cerebro humano, se daría cuenta de que cada elemento de este conjunto de datos puede describirse en términos de un único parámetro numérico, que es ese valor de intensidad. Esto es algo para lo que PCA funcionaría bien, porque cada una de las dimensiones (podemos pensar en cada píxel como una dimensión diferente) está perfectamente correlacionada linealmente.
Supongamos, en cambio, que tiene un conjunto de datos de imágenes de mapa de bits en blanco y negro de 128x128px de círculos centrados. Como cerebro humano, se daría cuenta rápidamente de que cada elemento de este conjunto de datos puede describirse completamente mediante un único parámetro numérico, que es el radio del círculo. Ese es un nivel muy impresionante de reducción de 16384 dimensiones binarias, y quizás lo más importante es una propiedad semánticamente significativa de los datos. Sin embargo, PCA probablemente no podrá encontrar ese patrón.
Su pregunta fue "¿Por qué no podemos simplemente usar PCA, si el propósito es la reducción de dimensionalidad?" La respuesta simple es que PCA es la herramienta más simple para la reducción de dimensionalidad, pero puede perder muchas relaciones que podrían encontrar técnicas más potentes como los autoencoders.
fuente
Un caso de uso de autoencoders (en particular, del decodificador o modelo generativo del autoencoder) consiste en eliminar la entrada. Este tipo de autoencoders, llamados autoencoders de eliminación de ruido , toman una entrada parcialmente corrupta e intentan reconstruir la entrada no corrupta correspondiente. Hay varias aplicaciones de este modelo. Por ejemplo, si tenía una imagen dañada, podría recuperarla sin daños utilizando un autoencoder de eliminación de ruido.
Los autoencoders y PCA están relacionados:
Para obtener más información, eche un vistazo al documento De subespacios principales a componentes principales con codificadores automáticos lineales (2018), de Elad Plaut. Vea también esta respuesta , que también explica la relación entre PCA y autoencoders.
fuente
PCA es un método lineal que crea una transformación que es capaz de cambiar las proyecciones de vectores (cambio de eje)
Dado que PCA busca la dirección de la varianza máxima, generalmente tiene una alta discriminación, PERO no garantiza que la dirección de la mayor varianza sea la dirección de la mayor discriminación.
LDA es un método lineal que crea una transformación que es capaz de encontrar la dirección más relevante para decidir si un vector pertenece a la clase A o B.
PCA y LDA tienen versiones de Kernel no lineales que pueden superar sus limitaciones lineales.
Los autoencoders pueden realizar reducciones de dimensionalidad con otros tipos de funciones de pérdida, pueden ser no lineales y podrían funcionar mejor que PCA y LDA en muchos casos.
Probablemente no exista el mejor algoritmo de aprendizaje automático para hacer algo, a veces el aprendizaje profundo y las redes neuronales son excesivas para problemas simples y PCA y LDA pueden probarse antes de otras reducciones de dimensionalidad más complejas.
fuente
fuente