我正在训练有关时间序列数据的LSTM网络,并希望对数据进行归一化,因为我的功能规模不同。
我的数据形状是
dupes
我应该将(n_samples x n_timestamps x n_features)
设置为2(文档中所述的功能)还是1(时间戳)?我希望我的功能进入[0..1]范围,而它们的比例却大不相同。
问题在于文档没有说明该层实际上在做什么,而是为CNN提供了建议。
答案 0 :(得分:1)
通常,您将使用要素维度:-1。
它将单独对待每个功能,并基于其他维度进行归一化。
但这不会使它们进入0到1的范围。它将使用(x - mean)/variance
并在归一化后应用比例因子和偏差。
例如。采取功能0:
对特征1重复相同的操作,但具有另一个均值,另一个方差,比例和偏差。
如果使用时间步长维度,它将分别查看每个步骤并为每个步骤提供一个比例因子,这没有多大意义,因为步骤都应具有相似的性质,而功能可能意味着完全不同的特征。
如果您确实需要0到1之间的值,则只需应用Activatoin('sigmoid')
。如果您担心自己的价值观会过于饱和,可以先应用BatchNormalization()
,然后再应用Activatoin('sigmoid')
。