1

我正在寻找一种方法来实现输入的多个分类。指定了输出的数量,并且输出的类集可能相同也可能不同。样本属于每个类集的一个类。

我的问题是,目标数据和输出层应该是什么样子?可以使用哪些激活、损失和训练函数,该层应该如何连接到隐藏层?我不一定要寻找最佳解决方案,而只是寻找可行的解决方案。

我目前对可行的猜测是使目标数据成为多个连接的 one-hot 向量,并且输出层具有与向量数量一样多的 softmax 单元。我不知道这些层将如何与该解决方案连接,以及网络如何计算类集的大小。我认为标签 powerset 不能满足我的需要。

我认为 matlab patternnet 函数可以创建一个这样做的网络,但我不知道生成的网络是如何工作的。TensorFlow 或 Keras 的代码将非常受欢迎。

4

1 回答 1

0

也许现在不是回答问题的好时机,但我正在研究多标签分类,刚刚找到了解决方案。至于 Keras,有一个例子:

  • 目标标签:[1, 0, 0, 1, 0]
  • 输出层:密集(5,激活='sigmoid')
  • 损失:'binary_crossentropy'

如果数据集足够大,那将很有效。

于 2017-11-01T01:29:15.520 回答