我正在训练一个神经网络。输入和输出(训练数据)的归一化使用 min 和 max 进行 [0-1] 的规模。
我正在应用反向传播学习算法。我需要得到错误偏移量。即误差=实际输出输出
如何将输出 [0-1] 缩放回实际的实际值,例如从零到数千的范围?
我正在训练一个神经网络。输入和输出(训练数据)的归一化使用 min 和 max 进行 [0-1] 的规模。
我正在应用反向传播学习算法。我需要得到错误偏移量。即误差=实际输出输出
如何将输出 [0-1] 缩放回实际的实际值,例如从零到数千的范围?
因为你的输出在 [0, 1] 中,我猜你使用了一些输出函数进行分类,比如 sigmoid。但是,您的损失函数不适用于分类。因此,我建议要么使用带有 [0, 1] 输出值的分类损失(例如 sigmoid 交叉熵),要么使用带有线性输出函数的回归损失(例如平方误差)。然后,您不必缩放训练输出值或网络输出值。
不过,您可以使用以下等式将 [0, 1] 转换回 [a, b]:
output_ab = output_01 * (b - a) + a,
或通常使用以下等式从 [x, y] 到 [a, b]:
value_ab = ((value_xy - x) / (y - x)) * (b - a) + a.
使用与从 0 到 1 标准化相同的公式,现在使用 true min 和 max 标准化到真实范围,最常见的是:Xi = (Xi - Xmin)/(Xmax-Xmin)