注意:只是记录网上的资料和自己的理解,有错误希望能指正。
参考https://cloud.tencent.com/developer/article/2132591,觉得不清楚可以看这个地址
文章目录
一、LSTM的输入格式
LSTM的一般输入为 [batch_size, time_steps, input_size]
batch_size 指的是 一批有多少个训练样本
time_steps 我一直不太理解指的是什么,总算有些眉目了
input_size 指的是数据的特征,就是column的数量
二、图片示意
这样一个完整的循环是一个time_step,而不是说其中每一小步是一个time_step.
这是kaggle上的一个数据集,
- 假设它的batch_size是17
- time_step是5
- column就是它的input_size,就是5
那么输入格式就是 [17,5,5]
就是如下图所示:
- time_step为5,那就认为它的下一个值与前五个值有关系,也是每次细胞输入们输入的数据量。
- 那么这个17个样本的数据,需要分17-5+1 = 13 次输入数据。
- 在13次中每一次都要把上一次产生的y,与这一次的5行连续时间序列数据一起feed进去,再产生新的y。
- 以此往复,直到此个batch_size 结束。