如何将神经网络的标准化输出转换回原始尺度?

时间:2014-07-23 13:59:16

标签: python machine-learning neural-network

在我的神经网络中,我的输入从0到719不等,目标从0到1340不等。所以,我通过标准缩放标准化输入和目标,使得均值为0,方差为1.现在,我使用反向传播计算输出。我的所有输出都介于-2和2之间。如何将这些输出转换为原始比例,即位于范围(0,1340)?

编辑:我有1个输入,5个隐藏神经元和1个输出。我使用了logistic sigmoid激活函数。我通过取均值然后除以标准差来进行标准缩放。特别是,我的输出介于-1.28和1.64之间。

2 个答案:

答案 0 :(得分:0)

假设目标的平均值和标准偏差为musigma,则目标y规范化值应为(y-mu)/sigma 。在这种情况下,如果您获得输出y',则可以通过转换y' -> mu + y' * sigma将其移回原始比例。

答案 1 :(得分:0)

logistic sigmoid函数的输出在(0,1)范围内。因此,要将输出y缩放到范围(0,1340),您只需将y乘以1340即可。

通常,如果要将逻辑sigmoid输出扩展到范围(min, max),可以使用

y_scaled = min + (max - min) * y