我有以下特征向量,每个样本包含一个特征,总共有32个样本:
X = [[0.1],[0.12],[0.3] …… [0.10]]
以及由二进制值组成的标签向量
Y = [0,1,0,0,…… 1](也有32个样本)
我正在尝试使用Keras LSTM根据新条目预测序列的下一个值.
我无法弄清楚的是“batch_input_shape”元组的含义:
model.add(LSTM(neurons, batch_input_shape=(?, ?, ?), return_sequences=False, stateful=True))
根据this的文章,第一个是批量大小,但另外两个呢?它们是每个样品的特征数量和样品数量吗?
在这种情况下,batch_size的值应该是多少?
目前收到错误消息:
ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (32, 1)
编辑:这是模型声明:
def create_lstm(batch_size, n_samples, neurons, dropout):
model = Sequential()
model.add(LSTM(neurons, batch_size=batch_size, input_shape=(n_samples, 1), return_sequences=False, stateful=True))
model.add(Dropout(dropout))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
return model