我正在尝试训练使用LSTM的RNN网络。
在数据预处理部分,当我对数据集进行规范化(特征缩放)时,我将整个数据库规范化。但是,我怀疑一些输入列是否占据其他列,并且它可以影响网络训练部分。以下是数据集的示例,以便更好地理解:
从上图中可以看出,不同颜色的列比其他颜色更大或更低。
所以,我的问题是;如果我将整个数据集一起规范化,或者我应该单独规范化每个列吗?
答案 0 :(得分:2)
功能缩放基于每列进行。这些操作一次应用于一个特征,因为目标是将不同的特征放入相似的范围内,因此特征的单位不会影响学习(source)。你是对的,特征的大小可以影响训练,因此缩放被认为是一种最佳实践,特别是在训练神经网络时。
通常,这可以通过以下两种方式之一完成:
可以使用Scikit-Learn' MinMaxScaler
在Python中完成重新缩放。可以使用Scikit-Learn' StandardScaler
在Python中完成标准化。
这是一篇关于特征缩放基础知识的好文章:http://sebastianraschka.com/Articles/2014_about_feature_scaling.html。