输出层用于多标签,多类别分类?

时间:2017-07-22 22:11:05

标签: tensorflow neural-network keras multilabel-classification multiclass-classification

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

我的问题是,目标数据和输出层应该是什么样的?可以使用哪些激活,丢失和训练功能,以及如何将图层连接到隐藏层?我不一定在寻找最佳解决方案,只需要一个工作解决方案。

我目前关于什么可行的猜测是使目标数据成为多个连续的单热矢量,输出层具有与矢量数一样多的softmax单位。我不知道这些层如何与该解决方案相关联,以及网络如何计算出类集的大小。我认为标签powerset不能满足我的需求。

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

1 个答案:

答案 0 :(得分:0)

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

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

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