有1个或10个输出神经元更好?

时间:2018-08-21 18:30:30

标签: neural-network

拥有更好吗?

1个输出神经元,其输出值在0到15之间,这将是我的最终值

16个输出神经元的输出值在0到1之间,代表该值的适用性?

示例:我们想通过输入学习的小时数和智商来找出学生的分数(从0到15)。

2 个答案:

答案 0 :(得分:1)

TL; DR:我认为您的问题最好作为回归任务来处理,因此请使用一个输出神经元,但是两者都值得尝试。

与非常具体的答案相比,我不太喜欢您的问题的范围,所以我将更深入地说明什么才是正确的表述。

在开始之前,我们应该阐明经典人工神经网络执行的两个主要任务:

  1. 分类
  2. 回归

它们是inherently very different from one another;简而言之,分类试图在输入上放置标签(例如,输入图像显示),而回归试图预测数值(例如,输入数据对应的是一栋估价为150万美元的房子。
显然,您可以看到预测数值仅(通常)仅需要一个输出值。另外请注意,这仅对此特定示例有效。可能还有其他回归用例,在这些用例中,您希望输出的尺寸大于0(即单个点),而改为1D或2D。
例如,一个常见的示例是Image Colorization,我们也可以将其有趣地构造为分类问题。提供的链接显示了两者的示例。在这种情况下,您显然必须对每个像素进行回归(或分类),从而导致输出神经元不止一个。

现在,要解决您的实际问题,我想详细说明为什么首选热编码输出(即,具有与类一样多的通道的输出)的分类任务的原因。在单个神经元上。
由于我们可以认为单个神经元足以预测课程价值,因此我们必须了解为什么以这种方式进入特定课程会产生问题。

Categorical vs Ordinal vs Interval Variables

主要问题之一是变量的类型。在您的情况下,存在明确的顺序(15优于14优于13,依此类推),甚至存在间隔顺序(至少在纸面上),因为15和13之间的差异与14之间相同和12,尽管有些学者可能对此表示反对;-)
因此,您的目标是区间变量,因此理论上可以用于对其进行回归。以后再说。但是,例如考虑一个变量,该变量描述图像是描绘猫(0),狗(1)还是汽车(2)。现在,可以争论的是,我们甚至无法对变量进行排序(是汽车>狗,还是汽车<狗?),也不能说猫和狗之间存在“相等距离”(类似,因为两者都是动物? )或猫和汽车(彼此之间的差异可能更大)。因此,真正难以解释网络的单个输出值。假设输入图片的结果为1.4。
现在这仍然对应于狗吗?还是更接近汽车?但是,如果图像实际描绘的是一辆装有properties of a cat的汽车怎么办?
另一方面,具有3个独立的神经元以反映每个类别的不同概率可以消除该问题,因为每个人都可以描述相对“不受干扰”的概率。

如何失去功能

另一个问题是在上一个示例中如何通过网络反向传播。传统上,分类任务使用Cross-Entropy Loss(CE),而回归使用均方误差(MSE)作为度量。两者本质上是不同的,尤其是CE和Softmax的组合导致非常convenient (and stable) derivations
可以说,可以将舍入方法从1.4取整到一个简明的类值(在这种情况下为1),然后使用CE损失,但这可能会导致数值不稳定。另一方面,MSE永远不会给您“明确的类别价值”,而是更多的回归估计。


最后,问题归结为:我是否有分类或回归问题。就您的情况而言,我认为这两种方法都可以很好地起作用。 (分类)网络可能无法识别不同输出类别之间的相关性;即,具有14级可能性的学生基本上获得3分或更低评分的可能性为零。另一方面,由于其他原因,回归可能无法准确预测结果。
如果您有时间,我强烈建议您尝试两种方法。现在,考虑到目标的时间间隔类型,我个人将进行回归任务,并在训练网络后使用四舍五入法 并可以做出准确的预测。

答案 1 :(得分:0)

每个类最好有一个神经元(二进制分类除外)。就扩展现有设计而言,这允许更好的设计。一个简单的示例是创建一个用于识别数字0到9的网络,然后将设计从0到F更改为十六进制。

相关问题