目标是对狗和非狗进行分类。训练数据集只包含狗的图像。神经网络将仅使用此训练数据集进行训练,然后使用包含狗和非狗图像的测试数据集进行测试。
我遵循encoder Datacamp tutorial,在我的例子中,自动编码器将所有测试图像归类为狗,这是错误的。
为一个类别分类构建CNN也是不可能的。你知道怎么做吗?
发布于 2020-07-19 19:46:28
你所问的问题的正确术语是二进制分类。
你可以安全地使用CNN进行二进制分类。问题是如何对输出层进行建模。您可以使用具有两个输出单元的softmax层(output>0.5(输出)是1类:狗,2类:不是狗),也可以使用更传统的方法使用单个S型单位作为输出(argmax:狗,<0.5:无狗)。由于softmax归一化是sigmoid激活的多类扩展,sigmoid层在理论上更有意义,但如果您在实现这一点时遇到困难,softmax应该也能正常工作。
当然,您必须调整您的数据标签以适应这两种方法。
编辑:你需要狗的图片和那些不包含狗的图片。网络需要知道这两者的分布情况。只需考虑您的用例以及您期望的不是狗的图像类型。然后收集不是狗的图像,并相应地标记它们。
https://stackoverflow.com/questions/62978690
复制相似问题