我刚开始学习TensorFlow,想知道是否有关于多标签分类的教程或示例,特别是涉及多个网络输出的情况。
我问这个问题是因为我有一组文章,每篇文章可以有多个标签。
回答:
TensorFlow默认支持通过tf.nn.sigmoid_cross_entropy_with_logits
损失函数或类似函数(详见这个问题)进行二元多标签分类。如果你的标签是二元的,也就是说有一组预定义的可能标签,每个标签可以存在或不存在,你可以放心使用这种方法。一个模型可以一次性对所有标签进行分类。有很多这样的网络示例,例如这个问题中的一个。
遗憾的是,TensorFlow不支持多项式多标签分类。如果这是你的情况,你需要为每个标签构建一个单独的分类器,每个分类器使用tf.nn.softmax_cross_entropy_with_logits
或类似的函数。