【发布时间】:2019-06-04 19:33:15
【问题描述】:
我有一个序列预测问题,我将其作为语言模型来处理。 我的数据包含 4 个选择 (1-4) 和一个奖励 (1-100) 。 我开始使用 Keras,但我不确定它是否具有我需要的灵活性。
- 这是模型架构的外观:
我不确定测试阶段。一种选择是抽样:
而且我不确定如何评估这个选项的输出与我的测试集。
另一种选择是给训练好的模型一个序列,让它绘制最后一个时间步长值(比如给出一个句子并预测最后一个单词)——但仍然有 x = t_hat。
在 Keras 有可能吗?我找不到这样的例子。
- 除了传递上一个选择(或上一个词)作为输入之外,我还需要传递第二个特征,即奖励值。选择是 one-hot 编码的,如何将单个数字与编码向量相加?
编辑: 这是训练阶段(尚未完成采样):
model = Sequential()
model.add(LSTM(64, input_shape=(seq_length, X_train.shape[2]) , return_sequences=True))
model.add(Dense(y_cat_train.shape[2], activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_cat_train, epochs=100, batch_size=10, verbose=2)
【问题讨论】:
-
你必须明确确认你的系统是不是LSTM,你的LSTM是什么类型,里面使用了哪些参数/超参数。
-
感谢@M.F 现在看起来好多了。
标签: keras neural-network deep-learning nlp lstm