1

我想知道神经网络是否能够回归值非常接近的目标值。例如:

input [100 150 200 300]
output [0.99903 0.99890 0.99905 0.99895]

还是应该处理输出或目标数据?

谢谢。

4

2 回答 2

3

神经网络输入/输出值的三个规则:

  1. 规范化您的数据。
  2. 规范化您的数据。
  3. 规范化您的数据。

尝试对数据进行一些归一化方案,然后查看输出点之间的距离。当然,不要忘记对输入也这样做。

如果您的数据有多个维度, PCA也会很有帮助,但这些数据是一维的。

于 2012-06-27T14:35:46.933 回答
0

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

这意味着在大多数 ANN 实现中,这是不可能的,或者:标准化您的数据。:)

于 2012-06-28T09:38:58.250 回答