Home › Fóruns › Fórum Deep Learning com Python de A a Z: O Curso Completo › Autoencoder para anomalias
Marcado: Autoencoders
- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 3 anos, 7 meses atrás por Fábio Spak.
- AutorPosts
- 25 de maio de 2021 às 22:41 #29006
Boa noite.
Para a criação de um autoencoder para detecção de anomalias, basicamente quais seriam as diferenças em relação aos vídeos disponíveis nesse curso?
Obrigado.
26 de maio de 2021 às 09:12 #29008Essa construção que fiz estaria correta para a detecção de anomalias com o autoencoder usando tensorflow/keras?
————————————————
# Preparação para autoencoder
tamanho = treino.shape[1]
tamanho# Construção das camadas
input = layers.Input(shape=(tamanho, ))
encoder = layers.Dense(int(tamanho/2), activation=”relu”)(input)
encoder = layers.Dense(int(tamanho/5), activation=”relu”)(encoder)
encoder = layers.Dense(int(tamanho/9), activation=”relu”)(encoder)latent = layers.Dense(int(tamanho/12), activation=”relu”)(encoder)
decoder = layers.Dense(int(tamanho/9), activation=”relu”)(latent)
decoder = layers.Dense(int(tamanho/5), activation=”relu”)(decoder)
decoder = layers.Dense(int(tamanho/2), activation=”relu”)(decoder)output = layers.Dense(int(tamanho), activation=”sigmoid”)(decoder)
# Criação do modelo
autoencoder = Model(input, output)
autoencoder.compile(optimizer=”adam”, loss=”mse”) ################# usar o MSE seria adequado?# Treinamento do modelo
treinamento = autoencoder.fit(treino, treino, epochs=100, batch_size=256, verbose=False, validation_split=0.15)
# Reconstrução da base
reconstrucao = autoencoder.predict(treino)
train_loss = tf.keras.losses.mse(reconstrucao, treino)
plt.hist(train_loss, bins=50)# Determinação do threshold para identificação de anomalias
threshold = np.mean(train_loss) + np.std(train_loss)
threshold# Atribuição da perda MSE
dados[“MSE”] = tf.keras.losses.mse(reconstrucao, treino)
# Classificação do outlier
dados[“Outlier”] = 0
dados.loc[dados[“MSE”] > threshold, “Outlier”] = 1<hr />
Obrigado !
28 de maio de 2021 às 11:42 #29032Olá bom dia, infelizmente não conseguimos dar suporte ou ajudar detalhadamente com implementações personalizadas 🙁 Como a demanda no fórum é muito grande, não nos sobra tempo para avaliar/implementar/testar códigos personalizados que fogem das implementações disponíveis no curso. O que podemos fazer é dar algumas dicas e direcionamento de implementações como mostram os links abaixo:
https://towardsdatascience.com/anomaly-detection-using-autoencoders-5b032178a1ea
https://keras.io/examples/timeseries/timeseries_anomaly_detection/
https://www.kaggle.com/robinteuwens/anomaly-detection-with-auto-encoders
Fabio
- AutorPosts
- Você deve fazer login para responder a este tópico.