为什么我的自动编码器没有给出简化的表示形式?



我正在尝试创建数据的简化表示,我将在另一个模型中使用它,我按以下方式进行:

   input = Input(shape=(70,))
   encoded = Dense(output_dim=10, input_dim=70, activation='relu')(input)
   decoded = Dense(70, activation='relu')(encoded)
   autoencoder = Model(input, decoded)
   autoencoder.compile(optimizer='adam', loss='binary_crossentropy')
   autoencoder.fit(df_values, df_values,epochs=10,batch_size=32)
   reduced_input = autoencoder.predict(df_values)

但是reduced_input中仍有 100 列,它们修改了值,即与初始input中的值不同,但仍然没有像我预期的那样减少表示(如 PCA 的组件(,即使我指定了output_dim=10

我想在我获得减少输入的方式中存在错误,但我看不到确切的位置。如果你能帮我发现它,请!

如果你想要第 7 层,那么:

output_func_Layer_7 = K.function([autoencoder.layers[0].input, K.learning_phase()],
                     [autoencoder.layers[7].output])
intermediate_output = output_func_Layer_7([X_train, False])

相关内容

  • 没有找到相关文章

最新更新