如何解决使用 LSTM 进行预测并使用最终隐藏状态
我正在研究 seq2seq,无状态(return_state = False),预测问题。
假设我有 10 个独立的时间序列,维度为 (10,50,2),其中 10 是样本数,50 是时间步长,2 是特征数。 如果我将这个时间序列分成大小为 (10,35,2) 的训练和测试 (10,15,2),其中我使用测试作为我预测的验证集(以找出训练好的网络预测的效果),因为在这种情况下,lstm 是无状态的,在训练期间在批次之间刷新(重置)状态(假设批次大小 = 1--> 一次训练一个样本)。
我的主要问题是,在对大小为 (10,2) 的测试集进行预测时,我是否应该使用经过训练的网络的 final_hidden_states 并将其设置为测试集的 initial_hidden_states?我提出问题的原因是因为从技术上讲,测试集 (10,2) 是 (10,2) 的延续,但是,我不是在测试集上进行训练。
为了更清楚, 第一个问题是:在这种情况下,我真的需要 final_hidden_states 进行预测吗? 第二个问题是:如果我需要 final_hidden_states,我如何为所有 10 个样本提取它们,因为在每批之间的训练期间状态在内部刷新?
感谢任何帮助。非常感谢示例代码(输入和输出可以任意或随机选择)。
我目前在 python 中使用 keras。
谢谢。
解决方法
我认为这应该可以回答您的问题 Post 并阐明 Seq2Seq 自动编码器的工作原理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。