首页 > 解决方案 > 如果我一起标准化整个数据集可以吗?

问题描述

我正在尝试训练一个使用 LSTM 的 RNN 网络。

在数据预处理部分,当我规范化(特征缩放)数据集时,我正在对整个数据库进行规范化。但是,我非常怀疑某些输入列是否对其他列占主导地位,它会影响网络训练部分。以下是数据集的示例,以便更好地理解:

数据集的示例部分

从上图中可以看出,不同颜色的列比其他列更大或更小。

所以,我的问题是;如果我将整个数据集归一化在一起可以吗,还是应该单独对每一列进行归一化?

标签: neural-networkdeep-learninglstmdata-sciencerecurrent-neural-network

解决方案


特征缩放是在每列的基础上完成的。这些操作一次应用于一个特征,因为目标是将不同的特征置于相似的范围内,因此特征的单元不会影响学习(来源)。你是对的,特征的大小会影响训练,因此缩放被认为是最佳实践,尤其是在训练神经网络时。

通常这是通过以下两种方式之一完成的:

  • 重新缩放:使特征的值落入一个范围内,例如从 0 到 1。最小最大重新缩放通过以下方式完成此操作:

重新缩放

  • 标准化:减去平均值并除以标准差。新特征的平均值为 0,标准差为 1。

标准化

可以使用 Scikit-Learn 的 Python 在 Python 中进行重新缩放MinMaxScaler。标准化可以在 Python 中使用 Scikit-Learn 的StandardScaler.

这是一篇关于特征缩放基础的好文章:http: //sebastianraschka.com/Articles/2014_about_feature_scaling.html


推荐阅读