Neural network 多类目标检测:nx(1对全部)还是1x(N对全部)?

Neural network 多类目标检测:nx(1对全部)还是1x(N对全部)?,neural-network,classification,deep-learning,Neural Network,Classification,Deep Learning,我正在使用神经网络进行多类分类。假设我有10个目标类和一个空的非上述目标类。我为每个目标分别训练一个神经网络,每个网络目标(非目标)有两个输出神经元,这样我在上述情况下需要10个单独的神经网络,还是一个11个输出10个目标,1个其他的神经网络更好?我曾在不同的论文中看到人们使用这两种方法中的任何一种,但没有解释,但在理论上,对每个目标类使用单独的网络是否有优势?相对于替代方法,计算开销成本是否值得获得收益 提前谢谢 p.S.1当然,在这两种方法中,训练示例的分布严重偏向非目标的其他类,2假设NN

我正在使用神经网络进行多类分类。假设我有10个目标类和一个空的非上述目标类。我为每个目标分别训练一个神经网络,每个网络目标(非目标)有两个输出神经元,这样我在上述情况下需要10个单独的神经网络,还是一个11个输出10个目标,1个其他的神经网络更好?我曾在不同的论文中看到人们使用这两种方法中的任何一种,但没有解释,但在理论上,对每个目标类使用单独的网络是否有优势?相对于替代方法,计算开销成本是否值得获得收益

提前谢谢


p.S.1当然,在这两种方法中,训练示例的分布严重偏向非目标的其他类,2假设NN的输出层具有softmax激活。

有几种方法可以潜在地解决这样的问题:

使用单独的类输出训练单个网络

这种方法可能是训练和设计最快的方法,其输出数量等于所需的类输出数量。另一方面,您需要确保训练集中的每个类都有足够的案例,以防止神经网络优先于其他类。此外,该网络不会像下一个案例那样专门针对个别班级

培训专门从事某一特定课程的网络

在这种情况下,N个神经网络将被训练成可能有一半正确和一半错误的情况。每个神经网络将使用测试数据进行评估,并根据每个单独网络的输出选择一个类别。训练和训练数据的预处理大约要多N倍,但总体上准确度也有可能提高。计算成本是否因精度的提高而合理取决于设计者,但您通常应该看到一种改进

构建一个模块化的神经网络,在密切相关的类组上进行训练

在这里,您可以潜在地将10个组分成两组,每组5个,这取决于哪个神经网络被认为最适合测试用例。在这里,您可以训练一个网络来分配一个专家神经网络,训练另外两个网络来估计特定的类。这是上述两者之间的一种中间点


还有许多其他方法也可以奏效,但基于上述问题,我想到的主要三种方法。

我不确定这里包含的是什么编程问题。看起来更像是一个计算机科学理论问题。特别是在什么方面更好?当然,在泛化误差方面,性能更好。