c语言实现lstm神经网络模型,6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现...

LSTM(Long Short Term Memory Network)长短时记忆网络,是一种改进之后的循环神经网络,可以解决 RNN 无法处理长距离的依赖的问题,在时间序列预测问题上面也有广泛的应用。

88090a7895db

今天我们根据问题的输入输出模式划分,来看一下几种时间序列问题所对应的 LSTM 模型结构如何实现。

88090a7895db

1. Univariate

88090a7895db

Univariate 是指:

input 为多个时间步,

output 为一个时间的问题。

数例:

训练集:

X, y

10, 20, 30 40

20, 30, 40 50

30, 40, 50 60

预测输入:

X,

70, 80, 90

模型的 Keras 代码:

# define model【Vanilla LSTM】

model = Sequential()

model.add( LSTM(50, activation='relu', input_shape = (n_steps, n_features)) )

model.add( Dense(1) )

model.compile(optimizer='adam', loss='mse')

n_steps = 3

n_features = 1

其中:

n_steps 为输入的 X 每次考虑几个时间步

n_features 为每个时间步的序列数

这个是最基本的模型结构,我们后面几种模型会和这个进行比较。

2. Multiple Input

88090a7895db

Multiple Input 是指:

input 为多个序列,

output 为一个序列的问题。

数例:

训练集:

X, y

[[10 15]

[20 25]

[30 35]] 65

[[20 25]

[30 35]

[40 45]] 85

[[30 35]

[40 45]

[50 55]] 105

[[40 45]

[50 55]

[60 65]] 125

预测输入:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值