如何对仅有一个样本进行值归一化处理?

3
我正在研究使用人工神经网络进行时间序列温度预测,大多数参考文献在将输入值馈入神经网络之前使用最小-最大规范化技术对其进行规范化。训练和测试数据集都已规范化。输入值是特定日期的温度、露点、降水、气压和风速值。
在测试集中只有一个样本的情况下(例如,我只有今天的天气属性来预测明天的温度),由于每个属性具有相同的最小值和最大值,我该如何对这些值进行规范化呢? 注:我已经给我使用的研究的作者发送了电子邮件,但他们没有回复,所以我想在这里寻求帮助 :)
2个回答

2

在处理训练集和测试集时需要进行规范化,而且操作方式相同。所以你需要在训练集上计算"边界",然后将这些边界应用于测试集(不要使用测试数据来计算这些边界,因为您应该假定在模型创建的时刻您并不知道测试数据)。

你似乎没有理解机器学习的核心思想。无法使用一个样本来训练预测模型。根据样本数量,我们指的是您收集到的观测值集合的大小,而不是输入到模型中的数据量(因此当您根据今天的温度预测明天的温度时,并不意味着您只有一个样本,您需要从历史记录中获取大量的样本,才能训练任何模型,尤其是神经网络)。

因此,规范化的问题在这里并不是非常重要——您可以针对整个历史集合进行规范化,或者如果您知道每个属性可以达到的确切值的范围(例如,您正在以摄氏度测量温度,则它应该落在[-20,40]区间内,或者如果您居住在世界上较为"温和"的地区,则可能会更小),则可以手动对它们进行规范化。


谢谢您的回复。那么,在测试网络性能时,这是否意味着我应该考虑前几天的天气值,而不仅仅是限制于当天的天气值作为输入? - LauritzkeanEric
无论你测试什么,你总是需要一种标准化方法。因此,如果你有一个不需要标准化的方法,你可以选择不进行标准化,或者使用一种恒定的转换进行标准化,通常是在某些历史数据上计算得出的。我们谈论的是标准化,而不是将数据应用为输入。你似乎在这里忽略了这个区别。 - lejlot

1

将样本标准化,就好像它在训练或测试数据集中一样。这些是您为之训练的范围,对吗?

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

当然,您不应该完全局限于单个样本...因为您完全可以保留(并使用)前几天样本的历史记录。


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