给定一个日期范围 (m,n),其中每个 m 是一个时间步长,n 是特征数。非语言时间序列 LSTM 的序列长度的合适数字是多少。当 2D 矩阵转换为 [Batch Size, Sequence Length, Features] 的 3D 矩阵时,是否有某种选择序列长度的经验法则,因为特征是常数,而 batch size 取决于序列长度。
2D转3D功能
def splitter(seql,traindf,ytrue):
m,n = traindf.shape
timestep = m
X_Train = []
Y_Train = []
for i in range(seql,timestep):
X_Train.append(traindf[i-seql:i])
Y_Train.append(ytrue[i][0])
X_Train,Y_Train = np.array(X_Train),np.array(Y_Train)
return X_Train,Y_Train
我能想到的最佳选择是对序列长度运行超参数调整。似乎序列长度越小,我的测试结果就越好,但问题在于序列长度的不同值,我得到一个不同大小的测试矩阵,这使得比较序列长度 hypers 之间结果的重要性变得困难。