Kmeans作为功能模型中的自定义层

时间:2019-08-30 16:17:28

标签: tensorflow.js

我们计划使用kmeans来拆分我们的数据,并拥有10个单独的完全连接的模型,分别从kmeans中估算每个组的结果。

一种明显的方法是在开始时具有10个单独的tfjs模型和单独的kmeans。

由于tfjs支持功能模型和自定义层。另一种方法是将kmeans作为第一个自定义层,然后将几个密集层连接到它。是否可以使用现有的层API来接收20个张量,执行kmeans并具有10组不同的20个张量作为输出到下一层?您看到这种方法有什么问题吗?还有另一种选择吗?

1 个答案:

答案 0 :(得分:0)

Kmeans尚未在tfjs中实现。如果不是它本身就不能被视为一个层。但是,您可以通过假设自己可以自己实现kmeans的实现,在班级中创建一个两阶段模型。

您只需要使用条件语句将一个模型的结果传递给另一个模型。第一个模型-kmeans-将输出数据的类别,第二个模型-十分之十-是根据第一个模型的输出选择的。

已经说过,所有这些都可以使用顺序API tf.sequential或功能性tf.model一次完成。 js中有kmeans实现,它将js数组作为向量返回。这些数组可以转换为张量,其形状将决定图层的形状。使用FCNN,我们可以为每个kmeans类提供一个输出。

相关问题