机器学习中的一种常见的良好做法是对预测变量进行特征归一化或数据标准化,即将减去均值的数据居中并将其除以方差(或标准差)进行归一化。为了自我控制并据我所知,我们这样做是为了实现两个主要目标:
- 为了数字稳定,请避免使用较小的模型权重。
- 确保优化算法(例如共轭梯度)的快速收敛,以使一个预测变量维的数量级过大而不会导致缓慢收敛。
我们通常将数据分为训练集,验证集和测试集。在文献中,我们通常会看到,要进行特征归一化,它们会在整个预测变量集上取均值和方差(或标准差)。我在这里看到的最大缺陷是,如果这样做,实际上是在将未来信息引入训练预测变量中,即均值和方差中包含的未来信息。
因此,我对训练数据进行了归一化处理,并保存了均值和方差。然后,使用训练均值和方差将特征归一化应用于验证和测试数据集的预测变量。这有根本的缺陷吗?谁能推荐一个更好的选择?