在神经网络中,用于训练数据的样本数量为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
有人可以解释一下,如果使用预测测试数据(2000 * 2100),如何使用标准化训练数据(5000 * 2100)中的相同均值和标准偏差来对预测数据进行去标准化,两个计数都不同。
答案 0 :(得分:3)
非规范化方程是简单的代数:它与归一化方程式相同,但是对y而不是y'求解。该功能是反转规范化过程,恢复原始数据的“形状”;这就是为什么你必须使用原始的stdev和意思。
归一化是将数据移动到0(使用均值),然后将分布压缩到标准正态曲线(对于1.0的新stdev)的过程。要返回原始形状,您必须取消移动并取消与原始分布相同的相同金额。
请注意,我们预计预测数据的平均值为0,stdev值约为1.0(由于集中趋势定理,变化会有一些变化)。你的担心并不愚蠢:我们确实为stdev提供了不同的人口数量。