tensorflow - 在 Keras 中,是否可以对输入数据进行聚类,然后根据集群将数据提供给不同的子网?
问题描述
基本上,我想做的是:
对输入数据执行一些基本的聚类,如 K-means。
获取输入样本的聚类成员。
为每个集群训练一个单独的深度神经网络子模型。
下面是这个想法的基本图。
是否可以通过使用单个 keras 模型来做到这一点?
我尝试使用 sklearn KMeans 将我的输入数据分离到集群,然后在每个集群上训练一个单独的 Keras 模型来做到这一点,但是这种方法使得以后很难计算测试错误,因为我必须从每个集群中获取测试错误聚类,然后手动计算总体误差。
解决方案
我认为问题在于您将数据聚类到三个组中,并希望使用模型来了解每个组的不同分布。我有一些粗略的想法。
您可以让集群索引成为每个组的标签,同时适合该标签和您的原始目标。喜欢:
output1 = Dense(cluster_numbers, activation='softmax')(x)
output2 = Dense(output_dimensions, activation='softmax')(x)
或者,如果您的数据按照您的原始目标进行聚类并且它们是互斥的,您还可以使用一系列并列层来输出结果。但是这会让你的模型非常庞大。喜欢:
输出 = [密集(输出维度,激活='softmax')(x)对于集群编号中的_]
推荐阅读
- php - 如何在学说中使用查询构建器来测试数据库中是否已经设置了两个给定值中的至少一个
- python-3.x - 如何将图像变量应用于经过转换数据训练的 pytorch 神经网络?
- php - 如何使用 Laravel 缓存图像
- python - 在 Python 中写入 csv 文件时如何删除撇号
- thumbnails - 由于对 CDN 的错误请求,Vimeo 播放器没有获得缩略图
- python - Odoo 12 - 形式响应条件
- reporting-services - 列出错误状态更改日期的 TFS 2015 报告
- java - 刷新后Java Socket不发送
- c# - 将 csv 文件读取到数据表并传递给存储过程
- javascript - 如果其父下拉列表中有使用 Jquery 的选项,则禁用子下拉列表中的选项