神经网络规范化输出数据

时间:2017-03-05 03:40:41

标签: machine-learning neural-network normalization perceptron

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

示例:

原始输入向量: -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,但我不知道如何规范化。我应该将预期输出规范化为输入向量的一部分吗?

2 个答案:

答案 0 :(得分:3)

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

因此,您可以规范化培训  输入以使训练更快,但您通常不会对目标输出进行标准化。在测试时间或提供新输入时,请确保以与训练期间相同的方式对数据进行标准化。具体而言,在训练期间对网络中的任何测试输入使用完全相同的参数进行标准化。

答案 1 :(得分:0)

重要的一句话是您对单个输入向量的元素进行了归一化。具有一维输出空间,您无法规范输出。 实际上,正确的方法是获取完整的训练数据批次,例如N个输入(和输出)向量,并分别归一化每个维度(变量)(使用N个样本)。因此,对于一维输出,将有N个样本用于归一化。这样,您输入的向量空间将不会失真。 当输出变量的比例空间明显不同时,通常需要对输出尺寸进行标准化。训练后,您应该使用与训练数据相同的设置归一化参数(例如,对于zscore,它是“平均”和“ std”)。在这种情况下,您会将新的(看不见的)数据放入与训练中相同的比例空间中。