神经网络中预测数据的去规范化

11
在神经网络中,用于训练数据的样本数量为5000,在提供给训练之前,使用以下公式进行了归一化处理。
     y - mean(y)
y' = -----------
      stdev(y)

现在我想在得到预测结果后对数据进行反归一化。通常情况下,会使用2000个样本的测试数据进行预测。为了进行反归一化,使用以下公式:

y = y' * stdev(y) + mean(y)

这种方法来自以下主题:如何在将输入数据标准化后对神经网络预测进行反标准化(去标准化)

请问有人能解释一下如何使用相同的平均值和标准差对训练数据(5000 * 2100)进行标准化,以便在去标准化预测数据时使用,因为你知道用于测试数据(2000 * 2100)的计数是不同的。


态度不好——但我确实忘了给你的问题点赞。对此疏忽深感抱歉。另外,我刚刚注意到我的提醒看起来有些尴尬:我是这个问题唯一的回答者。[脸红] - Prune
1个回答

8

反规范化方程是简单的代数方程:与规范化相同的方程式,但是求解的是y而不是y'。该函数用于反转规范化过程,恢复原始数据的“形状”;这就是为什么您必须使用原始的标准偏差和平均值。

规范化是将数据移动到中心0(使用平均值),然后将分布压缩为标准正态曲线(对于新的stdev为1.0)。 要返回到原始形状,您必须取消相同数量的移位和压缩,就像原始分布一样。

请注意,我们期望预测的数据具有平均值为0和大约1.0的标准偏差(由于中心趋势定理的变化而有所改变)。 您的担忧并不傻:我们确实有不同的总体计数用于stdev。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接