在分类AI问题中训练非活跃类

我遇到了一个问题。我想将数据分类到n个类别中。但同时,我也想表达答案不属于这n个类别中的任何一个。

例如,我的类别是:。所以我会用与相关的数据进行训练。

但是,如果我给模型提供其他东西,比如一辆汽车,我希望模型能告诉我这不是。所以我可能需要训练一个包含这些类别的模型:其他

但如果我用数据训练其他类,如何确保当我给它一个新的东西,比如一枚太空火箭时,预测结果会是其他类?

换句话说,我在处理非活跃类时遇到了麻烦。我不希望我的模型在我的目标类别中给出“最佳预测”,我还希望它能告诉我是否不属于这些类别中的任何一个。

谢谢!


回答:

我得到了一些回答,似乎有两个主要的解决方案来解决这个问题:

  1. 正如我所想,我可以训练我的类别,再加上一个用于其他情况的类。为了确保模型的鲁棒性,我需要为这个类创建数据,尽可能覆盖所有可能的输入情况!

  2. 训练n个分类器:每个类别一个二元分类器。每个分类器的输出为:活跃/不活跃。

对于每种解决方案,我认为有必要为“其他情况”创建数据集,即使在第二种解决方案中也是如此,以避免未包含的预测。在解决方案1中,你可以选择是否希望有一个活跃类(softmax)或多个活跃类(sigmoid),在解决方案2中,由于每个分类器是独立的,似乎更难控制这种行为,因为多个类别可能会被激活。

来源

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注