我使用的代码与我在这里找到的几乎相似......
https://towardsdatascience.com/classify-butterfly-images-with-deep-learning-in-keras-b3101fe0f98
该示例与二元分类相关。我正在测试的数据要求进行多类分类。我想我需要改变激活和损失函数。如果我有超过 2 种类型,我可以使用此处找到的相同代码吗?
https://github.com/bertcarremans/Vlindervinder/blob/master/model/CNN.ipynb
<小时/>更新: 我还有一个问题。如果我有足够的数据,是否需要进行扩充?
最佳答案
不,那是多标签分类。你说的是多类。以下是为您总结的内容:
- 二进制:您有 0 或 1 的单个输出。您可以在最后一层和
binary_cross_entropy
作为损失函数。 - 多标签:您有多个个0或1的输出;
Dense(num_labels,activation='sigmoid')
和再次binary_cross_entropy
。在这种情况下,一个示例可以同时属于多个标签。 - 多类:示例属于 N 个类中的 1 个,它们是互斥的。您可以将
Dense(num_classes,activation='softmax')
与softmax_crossentropy
结合使用。
关于tensorflow - 二元和多类分类代码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55936546/