我已经使用Keras实现了Autoencoder,它将112*112*3
神经元作为输入,100
神经元作为压缩/编码状态。我想从这100个神经元中找到学习重要特征的神经元。到目前为止,我已经使用以下步骤计算了特征值 (e( 和特征向量 (v(。我发现 (e( 的前 30 个值大于 0。这是否意味着前 30 种模式是重要的模式?有没有其他方法可以找到重要的神经元?
提前致谢
x_enc = enc_model.predict(x_train, batch_size=BATCH_SIZE) # shape (3156,100)
x_mean = np.mean(x_enc, axis=0) # shape (100,)
x_stds = np.std(x_enc, axis=0) # shape (100,)
x_cov = np.cov((x_enc - x_mean).T) # shape (100,100)
e, v = np.linalg.eig(x_cov) # shape (100,) and (100,100) respectively
我不知道你使用的方法是否真的会给你任何有用的结果,因为网络学习的方式和它到底学习了什么还不知道,我建议你使用一种不同类型的自动编码器,它会自动学习潜在空间中数据的解开表示,这样你可以确定你找到的所有参数实际上都有助于你的数据表示。 查看此文章