首页 > 解决方案 > 在训练/验证/测试中使用标准化或标准化的参数

问题描述

最佳实践是标准化/标准化训练集,然后使用其参数(min&max用于标准化和mean&std用于标准化)标准化/标准化验证集。

我想知道的是在验证中设置不同的最小值/最大值的效果,因此最终得到的值的范围不再在区间 (0,1) 内。

这如何影响神经网络的训练?

最后一个疑问:当我们使用测试集来评估模型对看不见的数据的性能时,我们是否应该再次使用训练参数对数据进行归一化/标准化?因为这些参数实际上与训练模型绑定在一起。

标签: machine-learningnormalizationdata-processing

解决方案


当您进行扩展时,您通常会知道数据的范围:

  • 对于图像,您从 0-255 变为 0-1,这很好,您事先知道范围
  • 对于其他特征,您要缩放的不是均匀分布,而是高斯分布,在这种情况下,您不能不受输出的 [0,1] 区间(或 [-1,1])的限制。

所以通常,如果你知道你想要什么样的输出(概率或图像),你也知道你可以拥有的输入的真实完整范围。

当您不知道输入范围时,您通常不希望在输出处使用 sigmoid,因为这对您的网络的限制超出了您的应有范围。

是的,您需要使用与训练数据相同的预处理管道,这意味着训练的标准化参数。


推荐阅读