我目前正在使用一个基本的 LSTM 来进行回归预测,我想实现一个因果 CNN,因为它应该在计算上更有效。
我正在努力弄清楚如何重塑我当前的数据以适应因果 CNN 单元格并表示相同的数据/时间步长关系以及应该设置的膨胀率。
我当前的数据是这样的:(number of examples, lookback, features)这是我现在正在使用的 LSTM NN 的一个基本示例。
lookback = 20 # height -- timeseries
n_features = 5 # width -- features at each timestep
# Build an LSTM to perform regression on time series input/output data
model = Sequential()
model.add(LSTM(units=256, return_sequences=True, input_shape=(lookback, n_features)))
model.add(Activation('elu'))
model.add(LSTM(units=256, return_sequences=True))
model.add(Activation('elu'))
model.add(LSTM(units=256))
model.add(Activation('elu'))
model.add(Dense(units=1, activation='linear'))
model.compile(optimizer='adam', loss='mean_squared_error')
model.fit(X_train, y_train,
epochs=50, batch_size=64,
validation_data=(X_val, y_val),
verbose=1, shuffle=True)
prediction = model.predict(X_test)
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个新的 CNN 模型(虽然不是因果关系,因为'causal'填充只是Conv1D …