in

Autoencoders apilados.

0IMJzSuq7Le49kZbd

Autoencoders apilados.

Extraiga características importantes de los datos mediante el aprendizaje profundo.

Rajas Bakshi

28 de junio·6 min de lectura

0*IMJzSuq7Le49kZbd
Foto de Mika Baumeister en Unsplash

Al resolver un problema de ciencia de datos, ¿alguna vez se encontró con un conjunto de datos con cientos de características? ¿O quizás mil funciones? Si la respuesta es no, no sabe lo difícil que puede ser desarrollar un modelo eficiente. La reducción de la dimensionalidad para aquellos que no saben es un enfoque para filtrar las características esenciales de los datos.

Tener más características de entrada en los datos hace la tarea de predecir la característica dependiente es un desafío. En ocasiones, una gran cantidad de elementos puede hacer que el modelo tenga un rendimiento deficiente. La causa detrás de esto podría ser que el modelo puede intentar encontrar la relación entre el vector de características y el vector de salida que es muy débil o inexistente. Hay varios métodos utilizados para reducir las dimensiones de los datos, y se puede encontrar una guía completa sobre los mismos en el enlace a continuación.

https://www.analyticsvidhya.com/blog/2018/08/dimensionality-reduction-techniques-python/

PCA es uno de los enfoques más populares utilizados para la reducción de dimensionalidad. PCA puede ayudarlo a encontrar un vector de las características más relevantes. Este nuevo conjunto de características se denomina componentes principales. El primer componente principal se extrae para que explique la mayor variación en el conjunto de datos. El segundo componente central, que no está relacionado con el primero, intenta explicar la variación restante en el conjunto de datos. El tercer componente principal intenta explicar la interpretación que los dos componentes principales anteriores no pueden explicar, y así sucesivamente. Aunque este enfoque nos ayuda a reducir las dimensiones, PCA solo es eficiente cuando la relación entre las características dependientes y las características independientes es lineal. Para una comprensión más profunda de PCA, visite el enlace a continuación.

https://towardsdatascience.com/a-one-stop-shop-for-principal-component-analysis-5582fb7e0a9c

Los codificadores automáticos se utilizan para reducir las dimensiones de los datos cuando una función no lineal describe la relación entre características dependientes e independientes. Los autocodificadores son un tipo de redes neuronales artificiales no supervisadas. Los codificadores automáticos se utilizan para la extracción automática de características de los datos. Es una de las herramientas de extracción de funciones más prometedoras que se utiliza para diversas aplicaciones, como reconocimiento de voz, vehículos autónomos, alineación facial / detección de gestos humanos. La arquitectura del Autoencoder se muestra en la siguiente figura.

Fuente AutoEncoder: Introducción a los autoencoders.

Como se ve en la figura anterior, una arquitectura de codificador automático se divide en tres partes: el codificador, el cuello de botella y el decodificador. El codificador selecciona las características cruciales de los datos, mientras que el decodificador intenta recrear los datos originales utilizando los componentes críticos. Al retener solo las características necesarias para reconstruir los datos, los codificadores automáticos disminuyen la dimensión de los datos. Los codificadores automáticos son un tipo de red de alimentación directa que se puede entrenar utilizando los mismos procedimientos que las redes de alimentación directa. La salida del Autoencoder es la misma que la entrada con alguna pérdida. Por lo tanto, los codificadores automáticos también se denominan técnica de compresión con pérdida. Además, los autocodificadores pueden funcionar como PCA si tenemos una capa densa con una función de activación lineal en cada codificador y decodificador.

Algunos conjuntos de datos tienen una relación compleja dentro de las características. Por lo tanto, usar solo un Autoencoder no es suficiente. Es posible que un solo Autoencoder no pueda reducir la dimensionalidad de las características de entrada. Por lo tanto, para tales casos de uso, utilizamos codificadores automáticos apilados. Los codificadores automáticos apilados son, como su nombre indica, varios codificadores apilados uno encima del otro. En la siguiente figura se muestra un autocodificador apilado con tres codificadores apilados uno encima del otro.

1*9etlfhalsPFJ8Eh Cmlobg

Imagen del autor

De acuerdo con la arquitectura que se muestra en la figura anterior, los datos de entrada se entregan primero al codificador automático 1. La salida del codificador automático 1 y la entrada del codificador automático 1 se dan como entrada al codificador automático 2. De manera similar, la salida del codificador automático 2 y la entrada del autoencoder 2 se dan como entrada al autoencoder 3. Por lo tanto, la longitud del vector de entrada para el autoencoder 3 es el doble que la entrada a la entrada del autoencoder 2. Esta técnica también ayuda a resolver el problema de datos insuficientes para algunos grado.

Para demostrar un codificador automático apilado, utilizamos la Transformada Rápida de Fourier (FFT) de una señal de vibración. La señal de vibración FFT se utiliza para el diagnóstico de fallas y muchas otras aplicaciones. Los datos tienen patrones muy complejos y, por lo tanto, un solo codificador automático no puede reducir las dimensiones de los datos. La siguiente figura es un gráfico de la forma de onda FFT. La amplitud de la FFT se transforma para estar entre 0 y 1.

0*CSmEE8uhHWliq53L

Imagen del autor

Para obtener una mejor comprensión visual, cambiamos la forma de la señal en una matriz de 63 * 63 y la trazamos (ya que es una señal de vibración convertida en la imagen, tómala con un grano de sal). La siguiente figura es la representación de la imagen de la señal de vibración.

0*UXosx 39 D6 XLzz

Imagen del autor

Sé que no es fácil ver mucho en esta imagen. Sin embargo, todavía podemos ver algunas características en la imagen. El disparo blanco brillante aproximadamente en (0,15) es el pico visto en la FFT de la señal de vibración.

Ahora comenzamos con la creación de nuestro Autoencoder.

El autoencoder diseñado anteriormente tiene dos capas densas en ambos lados: codificador y decodificador. Observe que el número de neuronas en cada decodificador y codificador es el mismo. Además, el decodificador es el reflejo especular del codificador.

Como vemos, la señal FFT tiene 4000 puntos de datos; por lo tanto, nuestras capas de entrada y salida tienen 4000 neuronas. Cuando nos adentramos en la red, posteriormente, el número de neuronas disminuye. Finalmente, en la capa de código, solo tenemos 200 neuronas. Por lo tanto, este codificador automático intenta reducir el número de funciones de 4000 a 200.

Ahora, construimos el modelo, lo compilamos y lo ajustamos a nuestros datos de entrenamiento. Como la salida de destino del codificador automático es la misma que la entrada, pasamos x_train tanto como entradas como como salida.

Una vez que hemos entrenado nuestro primer codificador automático, concatenamos la salida y la entrada del primer codificador automático.

Ahora la entrada para el autoencoder 2 está lista. Por lo tanto, construimos, compilamos y entrenamos el autoencoder 2 en nuestro nuevo conjunto de datos.

Una vez que hemos entrenado nuestro autoencoder 2, avanzamos hacia el entrenamiento de nuestro tercer autoencoder. Como hicimos con nuestro segundo codificador automático, la entrada al tercer codificador automático es una concatenación de la salida y la entrada de nuestro segundo codificador automático.

Y ahora, por último, entrenamos nuestro tercer codificador automático. Como hicimos con los dos últimos codificadores, construimos, compilamos y entrenamos con nuestros nuevos datos.

Después de entrenar nuestro codificador automático apilado, logramos una precisión de aproximadamente el 90%. Esto significa que nuestros codificadores automáticos apilados pueden recrear nuestra señal de entrada original con aproximadamente un 90% de precisión.

La imagen de la señal original y recreada se muestra a continuación.

1*UrY 1nZ7ky5Fr5guq2GBDQ

Imagen del autor

Deja una respuesta

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

desactivar cuenta meetme 12990

Cómo eliminar, eliminar o desactivar una cuenta de Meetme: aquí está la respuesta

Componentes de acceso a datos de Oracle (ODAC) para descargas de Windows