我需要开发一个神经网络,并将输入分为3类。其中一个类别是“不知道”
我应该使用一个单一的输出感知器来训练网络吗?哪一个训练示例分类为1,2,或3?还是应该使用2输出感知器并使用二进制方案(01、10、00/11)对输入进行分类?
发布于 2014-12-26 13:24:02
你应该使用3个输出神经元(每个类一个)。在训练阶段,将表示正确类的神经元的输出设置为1,将所有其他神经元的输出设置为0。具有12和3的单输出不是最优的,因为这包含了这样的隐含假设:类2和3在某种程度上“更接近”于1和3。使用二进制编码的输出也不是很好,因为除了解决分类问题外,NN还必须学习二进制编码。
此外,可能最好在输出层上使用具有交叉熵误差函数的softmax激活.Softmax将使输出正常化,因此每个神经元的值都可以解释为类概率。
请注意,“不知道”类只有在有标记为“不知道”的培训示例时才有用。否则,使用两个输出神经元。
https://stackoverflow.com/questions/27656690
复制相似问题