规则地,求解异或的简单神经网络应该有2个输入,2个隐层神经元,1个输出层神经元。
但是,下面的示例实现有两个输出神经元,但我不明白:
为什么作者要在那里放两个输出神经元?
编辑:作者注意到他在隐层使用4个神经元,在输出层使用2个神经元。但我还是不明白为什么,为什么是{4,2}而不是{2,1}的形状呢?
发布于 2017-05-12 06:09:18
这被称为--一个热编码。我们的想法是每堂课都有一个神经元。每个神经元都给出了这个类的概率。
我不知道他为什么要用4个隐藏的神经元。2应该足够了(如果我没记错的话)。
发布于 2017-05-12 05:26:53
最后,作者使用了评估类(用于统计网络给出正确结果的频率)。这个类需要每个分类一个神经元才能正确工作,即一个输出神经元表示true,一个输出神经元表示false。
发布于 2019-03-30 05:43:32
把它想成这样也许会有帮助:
Training Set Label Set
0 | 1 0 | 1
0 | 0 | 0 0 | 0 | 1
1 | 1 | 0 1 | 1 | 0
2 | 0 | 1 2 | 1 | 0
3 | 1 | 1 3 | 0 | 1
因此,[0,0,0],[0,1,0]等训练集。
如果使用两个列标签集,则0
和1
对应于true
或false
。
因此,0,0正确映射为false,1,0正确映射为true,等等。
在这里可以找到一篇很好的、稍微修改原版的文章:https://medium.com/autonomous-agents/how-to-teach-logic-to-your-neuralnetworks-116215c71a49
https://stackoverflow.com/questions/43927079
复制相似问题