gpt4 book ai didi

machine-learning - 多个神经网络各有一个输出还是一个有多个输出?

转载 作者:行者123 更新时间:2023-11-30 08:33:13 29 4
gpt4 key购买 nike

我想将输入分类为三种可能性之一。使用 3 个网络(每个网络有一个输出)还是 1 个网络(每个网络有 3 个输出)更好?(即 3 个输出 01 的网络或 1 个输出长度为 3 的一个热向量 [1,0,0]

答案是否会根据传入数据分类的复杂程度而变化?

在多少输出量下才有意义对网络进行分区(如果有的话)?例如,如果我想分为 20 组,有什么区别吗?

最佳答案

我想说使用具有多个输出的单个网络更有意义。

主要原因是隐藏层(我假设你至少有一个隐藏层)可以解释为将数据从原始空间(特征空间)转换到更适合的不同空间任务(根据您的情况进行分类)。例如,当训练网络从原始像素识别人脸时,它可能会使用一个隐藏层首先根据像素检测简单的形状,例如小线条,然后使用另一个隐藏层根据像素检测简单的形状,例如眼睛/ Nose 。来自第一层的线条等(它可能并不完全像这样“干净”,但这是一个易于理解的示例)。

网络可以学习的这种转换通常对于分类任务很有用,无论特定示例属于哪个类别。例如,无论实际图像是否包含面部,都能够检测图像中的眼睛是有用的;如果你确实检测到两只眼睛,你可以将其分类为人脸,否则你将其分类为不是人脸。在这两种情况下,你都在寻找眼睛。

因此,通过分成多个网络,您最终可能会在所有网络中学习非常相似的模式。那么你不妨节省自己的计算量,只学一次。

分成多个网络的另一个缺点是,您可能会导致数据集变得不平衡(或者如果已经不平衡则更加不平衡)。假设您有三个类,每个类正好有 1/3 的数据集。如果您使用三个网络来执行三个二元分类任务,那么您突然总是有 1/3 个“1”类和 2/3 个“0”类。然后,网络可能会偏向于预测各处的 0,因为这些是三个独立问题中的大多数类别。

请注意,这都是基于我的直觉;如果您有时间,最好的解决方案就是简单地尝试这两种方法并进行测试!不过,我认为我在实践中从未见过有人使用多个网络来执行单个分类任务,因此,如果您只有时间采用一种方法,我建议您使用单个网络。

我认为使用多个网络真正有意义的唯一情况是,如果您确实想要预测多个不相关的值(或者至少是不强相关的值)。例如,如果给定图像,您想要 1) 预测图像上是否有狗,2) 它是照片还是绘画。那么最好使用两个各有两个输出的网络,而不是一个有四个输出的网络。

关于machine-learning - 多个神经网络各有一个输出还是一个有多个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41675772/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com