Machine learning 如何在keras的深度学习中执行多标签分类?

Machine learning 如何在keras的深度学习中执行多标签分类?,machine-learning,scikit-learn,deep-learning,keras,Machine Learning,Scikit Learn,Deep Learning,Keras,我想微调keras中的vgg。我成功地完成了水果图像的分类任务。假设我想要一个模型能够预测水果的名称和颜色。 我成功地训练了两种不同的模型来预测水果的类型和颜色。但我想有一个模型,可以同时执行这两个。我怎样才能做到这一点? 我是否可以使用此解决方案: 我想到的另一个解决方案是使用vgg提取和存储特征,然后使用这些特征向量使用sci kit learn执行多类别多标签分类,我比keras更熟悉sci kit learn。但是我主要感兴趣的是使用深度学习来完成整个过程。 另一件事是不是所有的图像都

我想微调keras中的vgg。我成功地完成了水果图像的分类任务。假设我想要一个模型能够预测水果的名称和颜色。 我成功地训练了两种不同的模型来预测水果的类型和颜色。但我想有一个模型,可以同时执行这两个。我怎样才能做到这一点? 我是否可以使用此解决方案:

我想到的另一个解决方案是使用vgg提取和存储特征,然后使用这些特征向量使用sci kit learn执行多类别多标签分类,我比keras更熟悉sci kit learn。但是我主要感兴趣的是使用深度学习来完成整个过程。
另一件事是不是所有的图像都有所有的标签,例如,有些图像可能没有水果颜色。我能做些什么?我想到的一件事是将这些图像从数据集中删除,但这也意味着将丢失大约2000个我的训练数据。

您必须对输出层使用sigmoid激活函数,并将二进制交叉熵作为丢失函数

nn = Sequential()
nn.add(Dense(10, activation="relu", input_shape=(10,)))
nn.add(Dense(5, activation="sigmoid"))
nn.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

您可以在我不久前写的文章中找到更多详细信息。

链接中提供的解决方案正是您想要的。如果有两种情况下缺少数据,您可以尝试手动为其添加标签。在排除情况下-您的数据中有多少百分比没有完整的标签集?@MarcinMożejko我的数据中大约有5%没有完整的标签。谢谢你的评论。所以我不想麻烦:)这不会影响预测结果吗?因为我使用我的数据的%20作为测试集,使用训练集的%20进行验证。它只有5%——所以你不能100%确定——但一般来说——这不应该是影响训练过程的数据量。