最初我在Matlab中实现了一个Backpropagation网络并在XOR上使用它。但是,现在我使用以下输入/目标组合使用同一网络。
输入= [0 0; 0 1; 1000 0; 1 1]
,目标= [0; 1000; 1; 0]
我的输出为[1;1;1;1]
网络根本无法学习网络。有人可以解释为什么会这样吗?如果我要构建一个可以学习这种小型I / O网络的网络,我该怎么办?
非常感谢任何解释。
此致 最大
答案 0 :(得分:0)
这看起来像是一个缩放问题。在您原来的XOR问题中,输入和输出都是可比较的,即[0,1]。在您修订的问题中,一些输入似乎是[0,1]和一些[0,1000]。
解决方案是将输入标准化为类似的标度:通常使用[0,1]或[-1,1]。 在您的情况下,将输入除以1000可能就足以将您的范围放入[0,1]。不要忘记对输出进行非规范化(即在您的情况下乘以1000)以返回到原始比例。