LSTM层

本文详细解析了LSTM层的关键参数,包括单位数、激活函数、输入数据形状等,并通过实例说明了如何配置LSTM层。同时,解释了`timesteps`和`features`的概念,以及`return_sequences`参数对输出的影响。通过一个具体的例子展示了输入数据的维度,并给出了一个LSTM模型的简单构建过程,揭示了参数计算的方法。
摘要由CSDN通过智能技术生成

1 常见参数

model.add(LSTM(units, #输出的大小(神经元个数)
                activation=None, #激活函数
                use_bias=True, #是否添加偏置
                kernel_initializer='glorot_uniform', #权重矩阵初始化
                bias_initializer='zeros', #偏置初始化
                kernel_regularizer=None, #权重矩阵的正则函数
                bias_regularizer=None,#偏置的的正则函数
                return_sequences=False )

当LSTM层作为输入层时需要添加 input_shape代表输入数据的形状(即[timesteps,fearures]),batchsize不显示,即实际LSTM层输入数据为三维数据,[batchsize,timesteps,fearures]。

return_sequences=False:LSTM层输出单个 hidden state值,即输出的timesteps=1

return_sequences=True:LSTM层输出全部time step 的 hidden state值,即保留输入的timesteps

2 input_shape=(timesteps,fearures)

timesteps:时间步,n个时间步代表一组样本中有n个时间步;

fearures:特征点,n个特征表示一个时间步可以观察到n个特征;

举例输入数据X=[[[10] [20] [30]]   输出数据y=[40 50 60 70 80 90],
                              [[20] [30] [40]]
                              [[30] [40] [50]]
                              [[40] [50] [60]]
                              [[50] [60] [70]]
                              [[60] [70] [80]]] 

上面X的shape是(6,3,1),表示六个样本,每个样本中有三个观察点,每个观察点可以得到一个特征。当我们想要用X的一组样本(如[[10] [20] [30])来预测y的一个样本(40)时,样本输入数据的shape是(3,1),即input_shape=(3,1)。

3 LSTM层参数计算

from keras.layers import LSTM
from keras.models import Sequential
model=Sequential()
model.add( LSTM(10,input_shape=(13,5)))
model.summary()

参数公式:para=4×(输出×(输出+输入+1))

即para=4×(10×(10+5+1))=640

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值