首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该把“未知”班和其他班分开训练吗?

我应该把“未知”班和其他班分开训练吗?
EN

Data Science用户
提问于 2021-06-28 03:57:52
回答 2查看 368关注 0票数 2

我有一个CNN模型,分类了10类音频谱图。但是,由于我使用的是开放的数据集,所以需要将未知的音频数据归类为“未知”类。问题是我的训练样本中的未知数据比其他已知的类要大。当模型进行随机优化时,恐怕会出现问题。

我应该把“未知”的训练数据分开,然后单独训练模型。或者我可以简单地将未知数据混合到其他类中,然后立即训练模型?

EN

回答 2

Data Science用户

回答已采纳

发布于 2021-07-05 12:53:06

有几种方法可以做到这一点。例子如下:

二进制分类器

使用监督学习为已知的和未知的训练一个单独的二进制分类器。已知数据将来自您的数据集,而未知数据集是来自不同数据集(如AudioSet et.c )的大量样本。

异常检测器

只使用你的数据集(已知的)和无监督的学习,训练一个异常/分布外的模型.这应该是在你的CNN的学习代表。您可以使用高斯混合模型(例如,来自scikit-learn)作为异常模型。要验证它是否有效,并设置诸如高斯数、异常阈值等超参数,您应该使用来自另一个数据集的几个样本(AudioSet等)。

票数 1
EN

Data Science用户

发布于 2021-06-28 09:44:49

事实上,以牺牲其他类为代价,过度学习“未知”类(由于数量较大)确实存在风险,这可能导致错误的“未知”结果。

这主要取决于“未知”数据与“已知”数据的距离。

以下是三个潜在的解决方案:

  • 一个简单的方法是使用随机的“未知”数据,数量大于“已知”日期的平均数量(但不要太大:例如,两倍大)。
  • 一种逻辑方法是从未知数据的多元正态分布中得到一个有代表性的样本。https://juanitorduz.github.io/multivariate_正常/
  • 一个高级的方法是通过一个无监督的分类模型来获取“未知”数据,这些数据更接近“已知”数据。然后,https://scikit-learn.org/stable/unsupervised_learning.html添加一些更多的未知数据,以便更好地概括它们。
票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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