我有一个关于模型训练后特征缩放如何工作的问题。
假设一个神经网络模型通过外部温度来预测树的高度。
我的训练数据中的最低外部温度是60华氏度,最高是100华氏度。我将温度缩放到0到1之间,并训练模型。我保存了模型以便将来进行预测。两个月后,我想对一些新数据进行预测。但这次测试数据中的最低和最高温度分别是-20华氏度和50华氏度。
训练好的模型如何处理这种情况?我在训练集中用于生成训练模型的缩放范围与测试数据的范围不匹配。
有什么可以阻止我硬编码一个我知道数据总是会在这个范围内的缩放范围,比如从-50华氏度到130华氏度?我在这里看到的问题是,如果我有一个包含许多特征的模型。如果我对每个特征都强加一个不同的硬缩放,使用特征缩放基本上是没有意义的,对吗?
回答:
不同的缩放不会起作用。你的模型训练了一个缩放,它学会了一个缩放,如果你改变了缩放,你的模型仍然会认为它是相同的缩放,并做出非常偏移的预测。
重新训练将会覆盖之前学到的内容。
所以,是的,硬编码你的缩放(最好直接在你的数据上进行,而不是在模型内部)。
为了获得高质量的结果,尽可能收集所有数据进行训练。