目录

1、LSTM 的参数输入格式

2、input_size

3、batch_size

3、time_step

 4、batch_size与time_step

1、LSTM 的参数输入格式

        LSTM 的参数输入格式一般表示为 [batch_size, time_step, input_size]

        中文解释为 [每一次feed数据的行数,时间步长,输入变量个数]

2、input_size

        如果使用 7 个自变量来预测 1 个因变量,那么input_size=7,output_size=1

        同理,使用 8 个自变量来预测 3 个因变量,那么input_size=8,output_size=3

3、batch_size

        如果 数据有 10000 行,训练 100 次把所有数据训练完,那么 batch_size=10000/100=100

        如果数据有 20000 行,同样训练100次把所有数据训练完,那么batch_size=20000/100=200

        如果数据有 20000 行,训练50次把所有数据训练完,那么 batch_size=20000/50=400

        以此类推……

一般的batch_size小于100,来使训练结果更好,一次feed太多行数据,模型容易吃撑。

3、time_step

        在所有参数中 time_step 是最难理解的。首先要知道,time_step是指的哪个过程。

        如上图,并不是每个细胞状态都是1个time_step,其实这一串的流程细胞状态图都是在1个time_step。在讲解LSTM模型原理时讲的是time_step的内部进行的,而不是在time_step之间,换句话说,所谓的 t-1 的遗留状态也是在一个 time_step 里面的事情,t 多少取决于time_step的取值。

 4、batch_size与time_step

         batch_size 中只是规定了一个每次 feed 多少行数据进去,但并没有涵盖一个时间的概念,而 time_step 这个参数刚好就是对于时间的限制。换句话说,就是在一个 batch_size 中,要定义一下每次数据的时间序列。如果数据都是按照时间排列的,batch_size=100,time_step=10,那么在第1次训练时,是用前100行数据进行训练,而在这其中每次给模型10个连续时间序列的数据,注意不要以为是1-10,11-20,21-30,这样把数据给模型,这是不对的,其实 time_step=n 意味着我们认为每一个值都和它前n个值有关,请看下图。

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: