是否可以仅用单一类别的输入来训练二分类神经网络?

我正在尝试创建一个神经网络,用于判断我提供的输入是否有效。问题是我只有有效的输入数据来进行训练。

目前,我正在尝试构建一个能够验证MNIST数字0到4之间的有效性的密集模型。其他所有的数字都应被视为无效。我最初的尝试是用0到4之间的数字作为有效输入进行训练,而用随机像素的图像作为无效输入(这些图像的黑色像素百分比与正常图像相同),但遗憾的是,这种方法不起作用。当我用5到9之间的数字进行测试时,它们被识别为有效输入。

因此,我开始怀疑这种训练方式是否可行。

我意识到可能有更好的方法来实现这一点,也许可以使用自编码器或其他类型的网络,但目前我只想尝试使用密集层来进行尝试。

谢谢你。


回答:

你所寻找的是单类分类,也称为一元分类或类建模。

快速谷歌搜索建议训练一个自编码器,并定义如果重构误差低于特定阈值,则对象属于你的类别。

但如果你开始构建这样的系统,我建议你首先尝试使用单类K近邻或单类SVM,看看是否能得到可接受的结果。如果可以,你可以使用“极其复杂的开发”解决方案,即自编码器来改进你的结果。

Related Posts

Keras Dense层输入未被展平

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

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

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

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

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

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

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

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

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

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

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

发表回复

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