为了对10种类型的图像进行分类,我使用Keras对基于卷积的序列模型进行了建模。我利用了categorical_crossentropy。我的问题是,尽管我通过包含验证数据在训练模型上获得了99%的准确率,但我在识别不属于10个类别中的任何一个类别的图像时遇到了问题。这样做的正确方式是什么?任何属于这些类型的测试图像都可以通过我的模型很好地分类。但是如果一个图像不是这些类型中的一个,我想把它归类为“未分类的图像”,我该怎么做呢?
非常感谢您提前给予的支持。
发布于 2017-10-19 12:53:48
创建11个班级。其中之一是“非分类”类。
发布于 2017-10-19 16:45:37
一种方法是像Daniel描述的那样做,否则你可以对预测类的置信度进行阈值,如果它低于阈值,它就是“未分类”的。
发布于 2017-10-19 16:53:53
我猜你的问题被称为“开放集分类”,而不是“封闭集分类”(其中所有测试类在训练时都是已知的)。解决问题的一种技术是训练10个“一对所有”的模型。对于每个模型,您将了解图像属于一个类(正匹配)还是属于其余图像(负匹配)。使用它,如果测试图像对10个模型有负匹配,它将表明它是一个未知的类。
希望这能帮上点忙。
https://stackoverflow.com/questions/46822813
复制相似问题