machine-learning - 自动编码器:找到重要的神经元
问题描述
我已经使用 Keras 实现了自动编码器,它将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
解决方案
我不知道你使用的方法是否真的会给你任何有用的结果,因为网络学习的方式和它确切学习的内容是未知的,我建议你使用不同类型的自动编码器,它会自动学习解开的表示潜在空间中的数据,这样您就可以确定您找到的所有参数实际上都有助于数据的表示。检查这篇文章
推荐阅读
- firefox - 浏览器导航计时级别 2 时间戳有时会出现故障
- nearprotocol - 如何更改 near_sdk_sim 中的区块时间戳?
- mongodb - 是否可以使用自己的属性更新文档?
- flask - 为什么我面临烧瓶邮件问题?
- c# - Visual Studio - 无法在 Nuget 包管理器控制台上运行 dotnet 命令,但在终端中可以
- html - 带有 2 TR 的 DataTable 不显示分页、搜索、排序
- python - 正则表达式,来自代码和测试网站的不同结果
- c++ - 返回数组中值位置的函数(C++,Splashkit)
- sql - “列表表达式引用了既不分组也不聚合的[列标题]。”
- arrays - 将对象的数组推送到数组