我正在执行一个分类任务,试图检测一个对象。拍摄环境图片,使用视觉算法生成该可能对象的候选对象,一旦隔离,这些候选对象将通过CNN传递给最终决定该对象是否已被检测到。我试图在InceptionV3上使用迁移学习,但是很难训练它,因为我只有一组/类图像。
两难的是,我只有一类数据,当我通过网络传递数据时,我获得了100%的准确性(因为没有什么可比较的)。我该如何克服这个问题?是否应该在网上找到更多类别以添加到数据集中?这些类别应该是什么?
为了澄清,作为一个例子,我有类“猫”。
不是“猫”和“狗”
不是“猫”和“没有猫”。
只是“猫”。这就是我的数据集目前的组成。
发布于 2020-09-07 07:37:37
该模型学习匹配权值根据图像和反馈从标签数据。
如果您将一些图像类提供给"Not“,它将学习将类似的功能分类为"Not”。但对于一个新的班级来说可能会失败。
例如,如果它被训练成“汽车/家具/狗”为“非猫”,那么野生猫很有可能被归类为猫。
转储所有Imagenet数据集肯定会为"Not“类提供相当大的差异,并且可能大部分时间都能工作,但这并不是解决问题的合适方法。
这类问题属于一类分类.
其核心思想是利用CNN提取特征,然后使用一些专门的模型,如单类支持向量机、高斯混合等来定义“猫”的边界。
这个问题,正如单类支持向量机方法所定义的,包括识别一个包含所有(或大部分)数据的球体。解决这个问题的经典策略考虑了球的中心和半径的同时估计。
您可以从这些链接开始(按指定的顺序)-
还有其他方法,即基于自动编码器。在这里,我们试图对重建误差设置一个阈值。
参考资料-
此外,可以在这里查看一个想法,为“不猫”类生成随机图像。
发布于 2020-09-07 07:25:24
看来你在找一类分类方法。有几种方法,如隔离林,一类支持向量机,自动编码器的重构误差 (仅由你的积极类训练),等等。所有这些分类器都是从一个类别中学习的。
下面编辑关于创建“无猫”类
必须知道:当通常训练分类器来区分猫和无猫时,你应该把它们的预测解释如下:
如果它说它是一只猫,那就意味着它看起来更像一只猫,而不是一只没有猫。没别的了。
如果有一天你的分类器看到它从未在你的“没有猫”训练数据集中看到的输入,它可以选择它看起来更像一只猫。
结论:在创建“无猫”类时要小心/小心。
的初步认识
一个类分类的目标不再是区分多个类,而是找到单个类的最佳描述边界。
一个简单易懂的例子,用距离法:
当然,这是一个主要的例子,但它可能会给您一个类别分类的概念。
单类分类的一个困难是找到正确的特征集.为了进一步了解这个示例,可以使用任何限制集群(例如某些聚类算法)的方法来创建一个类分类器。
单级分类问题近年来受到越来越多的关注.你可以看看这些文章:
发布于 2020-09-07 06:06:11
如果这个模型所知道的只是一件事,它就不能接受训练。必须有“不是猫”的例子才能让它学习。
要解决这个问题,你可以找到任何东西来训练它,只要它不是猫,并且增强你的训练数据集。培训集应该是“猫”和“不是猫”的混合。一旦你这样做了,你将开始完善你的模型的准确性的过程。
https://datascience.stackexchange.com/questions/81313
复制相似问题