首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用只有一种数据类别的数据集

如何使用只有一种数据类别的数据集
EN

Data Science用户
提问于 2020-09-07 01:31:09
回答 3查看 4.7K关注 0票数 10

我正在执行一个分类任务,试图检测一个对象。拍摄环境图片,使用视觉算法生成该可能对象的候选对象,一旦隔离,这些候选对象将通过CNN传递给最终决定该对象是否已被检测到。我试图在InceptionV3上使用迁移学习,但是很难训练它,因为我只有一组/类图像。

两难的是,我只有一类数据,当我通过网络传递数据时,我获得了100%的准确性(因为没有什么可比较的)。我该如何克服这个问题?是否应该在网上找到更多类别以添加到数据集中?这些类别应该是什么?

为了澄清,作为一个例子,我有类“猫”。

不是“猫”和“狗”

不是“猫”和“没有猫”。

只是“猫”。这就是我的数据集目前的组成。

EN

回答 3

Data Science用户

回答已采纳

发布于 2020-09-07 07:37:37

该模型学习匹配权值根据图像和反馈从标签数据。

如果您将一些图像类提供给"Not“,它将学习将类似的功能分类为"Not”。但对于一个新的班级来说可能会失败。

例如,如果它被训练成“汽车/家具/狗”为“非猫”,那么野生猫很有可能被归类为猫。

转储所有Imagenet数据集肯定会为"Not“类提供相当大的差异,并且可能大部分时间都能工作,但这并不是解决问题的合适方法。

这类问题属于一类分类.

其核心思想是利用CNN提取特征,然后使用一些专门的模型,如单类支持向量机、高斯混合等来定义“猫”的边界。

这个问题,正如单类支持向量机方法所定义的,包括识别一个包含所有(或大部分)数据的球体。解决这个问题的经典策略考虑了球的中心和半径的同时估计。

您可以从这些链接开始(按指定的顺序)-

黑客中午博客

阿西夫

研究门

还有其他方法,即基于自动编码器。在这里,我们试图对重建误差设置一个阈值。

参考资料-

奎拉

所以

Keras博客

此外,可以在这里查看一个想法,为“不猫”类生成随机图像。

这里

票数 13
EN

Data Science用户

发布于 2020-09-07 07:25:24

短答案

看来你在找一类分类方法。有几种方法,如隔离林一类支持向量机自动编码器的重构误差 (仅由你的积极类训练),等等。所有这些分类器都是从一个类别中学习的。

下面编辑关于创建“无猫”类

必须知道:当通常训练分类器来区分猫和无猫时,你应该把它们的预测解释如下:

如果它说它是一只猫,那就意味着它看起来更像一只猫,而不是一只没有猫。没别的了。

如果有一天你的分类器看到它从未在你的“没有猫”训练数据集中看到的输入,它可以选择它看起来更像一只猫。

结论:在创建“无猫”类时要小心/小心。

--对一类分类

的初步认识

一个类分类的目标不再是区分多个类,而是找到单个类的最佳描述边界。

一个简单易懂的例子,用距离法:

  1. 采取一些功能,代表您的一类输入数据。
  2. 在这个特征空间中,计算两个最近邻之间的最大距离d_{max}
  3. 在此特性空间中投影任何新输入,并计算其与最近邻居的距离。
  4. 如果这个距离大于d_{max},那么它不是您的类。否则,它就是。

当然,这是一个主要的例子,但它可能会给您一个类别分类的概念。

单类分类的一个困难是找到正确的特征集.为了进一步了解这个示例,可以使用任何限制集群(例如某些聚类算法)的方法来创建一个类分类器。

更进一步

单级分类问题近年来受到越来越多的关注.你可以看看这些文章:

票数 7
EN

Data Science用户

发布于 2020-09-07 06:06:11

如果这个模型所知道的只是一件事,它就不能接受训练。必须有“不是猫”的例子才能让它学习。

要解决这个问题,你可以找到任何东西来训练它,只要它不是猫,并且增强你的训练数据集。培训集应该是“猫”和“不是猫”的混合。一旦你这样做了,你将开始完善你的模型的准确性的过程。

票数 6
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/81313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档