我正在尝试学习LSTM。学习了本网络课程,阅读了这本书(https://machinelearningmastery.com/lstms-with-python/)和许多博客...但是,我完全陷入困境。我对多元LSTM感兴趣,我已经阅读了所有可以找到但仍然无法获得的信息。不知道我是愚蠢的还是什么...
如果这个确切的问题和好的答案已经存在,那么我很抱歉重复发布,但是我已经查找并没有找到它...
正如我想真正了解基本知识一样,我在excel中创建了一个虚拟数据集,其中每个“ y”都取决于每个输入x1和x2的总和,而且还取决于时间。据我了解,这是多对一的情况。伪代码:
x1(t) = sin(A(t))
x2(t) = cos(A(t))
tmp(t) = x1(t) + x2(t) (dummy variable)
y(t) = tmp(t) + tmp(t-1) + tmp(t-2) (i.e. sum over the last three steps)
Run Code Online (Sandbox Code Playgroud)
(基本上我想在三个时间步长上给定x1和x2来预测y(t))
然后将其导出到具有x1,x2,y列的csv文件
我试图将其编码在下面,但显然无法正常工作。
我读取数据并将其拆分为80/20测试和训练集,并将其设置为尺寸为(217,2),(217,1),(54,2),(54/1)的X_train,y_train,X_test,y_test
我真正还没有掌握的是时间步长和样本以及reshape和input_shape中的用法。在许多代码示例中,我查看了它们仅使用数字而不是定义的变量,这使您很难理解正在发生的事情,尤其是如果您要更改某些内容。例如,在我参加的其中一门课程中,重塑是这样编码的...
X_train = np.reshape(X_train, (1257, 1, 1))
Run Code Online (Sandbox Code Playgroud)
这没有提供太多信息...
无论如何,当我运行下面的代码时,它说
ValueError:无法将大小为434的数组重塑为形状(217,3,2)
因此,我知道导致错误的原因,但不知道解决该错误的方法。如果我设置look_back = 1可以工作,但这不是我想要的。
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import LSTM
from keras.layers import Dense
# Load data
data_set = pd.read_csv('../Data/LSTM_test.csv',';')
"""
data loaded …Run Code Online (Sandbox Code Playgroud)