2015-10-01 36 views
1

在神经网络,用于训练数据的样本数为5000,预测数据给出的数据之前的训练它用公式非规范化的神经网络

 y - mean(y) 
y' = ----------- 
     stdev(y) 

现在我要取消标准化在获得预测输出后对数据进行正态分析。通常为了预测,使用2000个样本的测试数据数据。为了反规范化,以下公式用来

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

这种方法是从下列线取 [How to denormalise (de-standardise) neural net predictions after normalising input data

任何人都可以解释我如何相同的均值和标准差的归一化训练数据使用(5000 * 2100)可用于对预测数据进行去归一化,正如您所知,对于使用预测测试数据(2000 * 2100),两种计数都不相同。

+0

态度不好 - 但我*忽视了对您的问题进行投票。对于这种疏忽感到抱歉。此外,我刚刚发现我的提醒看起来如何:我是这个问题的唯一答案。 [脸红] – Prune

回答

3

非规范化方程是简单的代数:它与归一化方程式相同,但求y而不是y'。该功能是反转归一化过程,恢复原始数据的“形状”;这就是为什么你必须使用原始的stdev和意思。标准化是将数据移动到0(使用平均值)为中心,然后将分布压缩到标准正态曲线(对于新的标准偏差为1.0)的过程。要恢复原始形状,您必须取消移位并取消与原始分布相同的数量。

请注意,我们预计预测数据的平均值为0,stdev的值为1.0左右(由于中心趋势定理,其变化会有所变化)。你的担心并不是很愚蠢:我们确实有不同的人口数量。