神经网络的输入可以实值吗?

时间:2015-04-10 15:09:58

标签: machine-learning neural-network backpropagation

我正在使用sigmoid函数。我对所有输入的输入值范围为.88到1.06。在这个范围内使用实值输入是否可以?我在神经网络上找到的每个例子都使用二进制输入。另外,因为输入代表百分比增加/减少,我应该从每个输入中减去1,所以范围是-.12到.06?

1 个答案:

答案 0 :(得分:2)

您可以为您的神经网络使用实值输入。然而,通常的做法是将它们归一化,使它们处于区间[0,1]或[-1,1]中。这样做可以避免因梯度导致学习速度非常慢的数值问题。标准化输入值的常用公式为v = (v - mean) / stdDevv = (v - min) / (max - min),其中v是您的输入值之一(一个输入向量中的一个组件),mean是其中的平均值数据中的组件stdDev是数据中该组件的标准偏差,min是数据中该组件的最小值,max是数据中该组件的最大值

电子。 G。 [0, 0], [2, 1]可能会转换为[(0 - 0)/2, (0 - 0)/1], [(2 - 0)/2, (1 - 0)/1] = [0, 0], [1, 1](根据第二个公式)。