神经网络标准化输出数据

Neural Networks normalizing output data

我有 NN 的训练数据以及预期的输出。每个输入都是 10 维向量,并且有 1 个预期 output.I 已使用高斯对训练数据进行归一化,但我不知道如何对输出进行归一化,因为它只有一维。有什么想法吗?

示例:

原始输入向量:-128.91、71.076、-100.75、4.2475、-98.811、77.219、4.4096、-15.382、-6.1477、-361.18

归一化输入向量: -0.6049、1.0412、-0.3731、0.4912、-0.3571、1.0918、0.4925、0.3296、0.4056、-2.5168

上述输入的原始预期输出为 1183.6,但我不知道如何对其进行标准化。我应该将预期输出标准化为输入向量的一部分吗?

从你的问题来看,你正在尝试实现某种回归算法。对于回归问题,您通常不会对输出进行归一化。对于您为回归系统提供的训练数据,预期输出应该在您期望的范围内,或者只是您拥有的预期输出的任何数据。

因此,您可以将训练归一化 输入以使训练进行得更快,但您通常不会对目标输出进行归一化。当涉及到测试时间或提供新输入时,请确保以与训练期间相同的方式对数据进行标准化。具体来说,在训练期间对网络中的任何测试输入使用完全相同的参数进行归一化。

一个重要的评论是您对单个输入向量的元素进行了归一化。具有一维输出 space,您无法对输出进行归一化。 事实上,正确的方法是获取一整批训练数据,比如 N 个输入(和输出)向量,然后分别对每个维度(变量)进行归一化(使用 N 个样本)。因此,对于一维输出,您将有 N 个样本用于归一化。这样你输入的向量space就不会失真了。 当输出变量的 scale-space 显着不同时,通常需要对输出维度进行归一化。训练后,您应该使用与从训练数据中获得的相同的归一化参数集(例如,对于 zscore,它是 "mean" 和 "std")。在这种情况下,您将把新的(看不见的)数据放入与您在训练中相同的比例 space。