Python Keras LSTM问题,如何正确设置时间序列的神经网络?
我试图弄清楚lstm是如何使用Keras预测时间序列的。 这是我的例子。 我使用一个加速计,我有一个128.000的时间序列。我想采取: n_步数_英寸=10.000 n_步出=5.000进行预测 我将大系列分成114个样本、10000个时间序列和1个特征 X=[114,10.000,1] y=[1145.000] 我试图了解有多少隐藏层可以使用,有多少神经元。 作为一种回归,我想用Python Keras LSTM问题,如何正确设置时间序列的神经网络?,python,keras,time-series,lstm,recurrent-neural-network,Python,Keras,Time Series,Lstm,Recurrent Neural Network,我试图弄清楚lstm是如何使用Keras预测时间序列的。 这是我的例子。 我使用一个加速计,我有一个128.000的时间序列。我想采取: n_步数_英寸=10.000 n_步出=5.000进行预测 我将大系列分成114个样本、10000个时间序列和1个特征 X=[114,10.000,1] y=[1145.000] 我试图了解有多少隐藏层可以使用,有多少神经元。 作为一种回归,我想用 activation=ReLU, loss = mse optimizer=adam 问题是,很多时候我都输
activation=ReLU,
loss = mse
optimizer=adam
问题是,很多时候我都输了,我不明白为什么
这是我的代码示例
model1 = Sequential()
model1.add(LSTM(200, activation='relu', input_shape=(n_steps_in, n_features)))
model1.add(Dense(n_steps_out))
model1.compile(optimizer='adam', loss='mse')
我希望有人能得到一些提示,谢谢 首先,尝试通过向输出层添加激活功能来修复它:
model.add(Dense(n_steps_out, activation='linear'))
但是
训练时获得nan通常意味着爆发梯度
在深度网络或递归神经网络中,误差梯度可以
在更新过程中累积并导致非常大的渐变。这些
从而导致网络权重的大量更新,反过来,
不稳定的网络。在极端情况下,权重值可能会变为
太大以至于溢出并导致NaN值
检查机器学习掌握中的post。它会让您很好地了解问题所在,并提供一些潜在的解决方案。首先,尝试通过向输出层添加激活功能来解决问题:
model.add(Dense(n_steps_out, activation='linear'))
但是
训练时获得nan通常意味着爆发梯度
在深度网络或递归神经网络中,误差梯度可以
在更新过程中累积并导致非常大的渐变。这些
从而导致网络权重的大量更新,反过来,
不稳定的网络。在极端情况下,权重值可能会变为
太大以至于溢出并导致NaN值
检查机器学习掌握中的post。它将为您提供一个非常好的问题概述和一些潜在的解决方案。尽管LSTM广泛用于序列数据表示,但在非深度学习分类器中,XGBoost取得了最好的结果尽管LSTM广泛用于序列数据表示,在非深度学习分类器中,XGBoost取得了最佳效果有多少个历元,批量大小是多少?我尝试了100个历元,批量大小32(keras拟合函数的默认值)有多少个历元,批量大小是多少?我尝试了100个历元,批量大小32(keras拟合函数的默认值)