【问题标题】:How do you normalize values with only one sample?您如何仅使用一个样本来标准化值?
【发布时间】:2013-10-28 20:32:14
【问题描述】:

我正在使用Artificial Neural Networks 对时间序列温度预测进行研究,并且大多数参考文献在使用Min-Max Normalization technique 将输入值输入到神经网络之前对其进行归一化。训练和测试数据集都进行了标准化。输入值是特定日期的温度、露点、降水量、压力和风速值。

如果我在测试集中只有一个样本(例如,我只有今天的天气属性来预测明天的温度),我该如何标准化这些值,因为我会有相同的最小值和最大值每个属性的值?

附:我已经给我使用的研究的作者发了电子邮件,但他们都没有回复,所以我想我会在这里寻求帮助:)

【问题讨论】:

    标签: machine-learning normalization


    【解决方案1】:

    相同的方式对训练集和测试集执行归一化,因此您计算训练集的“边界”,并将其仅应用于测试集(不应使用测试数据来计算这些界限,因为您应该假设在创建模型的那一刻您不知道测试数据)。

    您似乎在这里错过了机器学习的核心思想。您无法在一个样本上训练预测模型。样本数量是指您收集的一组观测值的大小,而不是提供给模型的数据量(因此,当您根据今天预测明天的温度时,这并不意味着您有一个样本,您需要 从历史中获取大量样本,以便训练任何模型,尤其是神经网络)。

    所以规范化的问题在这里并不重要 - 因为您只需对整个历史集执行此操作如果您知道每个属性可以的确切值的边界,您可以手动对其进行规范化达到(例如 - 您以摄氏度为单位测量温度,因此如果您生活在世界的“较软”部分,则它应该落入 [-20,40] 区间或更小的区间)。

    【讨论】:

    • 感谢您的回复。那么在测试网络的性能时,这是否意味着我也应该考虑前几天的天气值,而不仅仅是限制当天天气值的输入?
    • 无论您测试什么,您总是需要一种标准化方法。因此,您要么根本不进行归一化(如果您有一种不需要它的方法),要么使用通常根据一些历史数据计算的一个常数变换进行归一化。我们谈论的是规范化,而不是应用数据作为输入。您似乎忽略了这里的区别。
    【解决方案2】:

    标准化样本,就好像它在训练或测试数据集中一样。它们是你训练的范围,对吧?

    通常,将有限/部分数据放入您可以处理/已训练处理的上下文中,将是从中获得有意义或经过验证的输出的唯一方法。

    当然,您不应该完全局限于一个样本。因为您应该完全能够保留(和使用)前几天样本的历史记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-08
      • 2017-02-17
      • 2021-12-28
      • 1970-01-01
      • 2020-01-25
      • 2012-06-30
      • 1970-01-01
      • 2020-11-02
      相关资源
      最近更新 更多