我想知道神经网络是否能够回归非常接近值的目标值。例如:
input [100 150 200 300]
output [0.99903 0.99890 0.99905 0.99895]
或者应该对输出或目标数据进行处理吗?
kwatford 是对的,标准化你的数据!
理论上神经网络可以学习这样的目标。但我们正在研究具有不精确实数表示的真实计算机。现在,考虑一下:你训练你的神经网络,在训练过程中当前的预测是这样的:
输入[100 150 200 300]
输出[0.99905 0.99890 0.99903 0.99895]
我刚刚翻转了 100 和 200 的结果。因此,误差平方和将为 4e-10。添加到神经网络权重的值将会更小。当您使用单精度浮点数时,您已经遇到了这个数字的问题。 GNU Octave 中的一个示例演示了这一点:
single(0.99905)+single(1e-10)
ans = 0.99905
这意味着在大多数人工神经网络实现中这是不可能的或者:标准化您的数据。 :)