RNN LSTM (回归例子)
作者: 莫烦 发布于: 2016-01-01
编辑: 学习资料:
- 相关代码
- 为 TF 2017 打造的新版可视化教学代码
- 机器学习-简介系列 什么是RNN
- 机器学习-简介系列 什么是LSTM RNN
- Tensorflow 的 bptt 形式理解
设置 RNN 的参数¶
这次我们会使用 RNN 来进行回归的训练 (Regression). 会继续使用到自己创建的 sin 曲线预测一条 cos 曲线. 接下来我们先确定 RNN 的各种参数(super-parameters):
数据生成¶
定义一个生成数据的 get_batch
function:
定义 LSTMRNN 的主体结构¶
使用一个 class 来定义这次的 LSTMRNN 会更加方便. 第一步定义 class 中的 __init__
传入各种参数:
设置 add_input_layer
功能, 添加 input_layer
:
设置 add_cell
功能, 添加 cell
, 注意这里的 self.cell_init_state
, 因为我们在 training 的时候, 这个地方要特别说明.
设置 add_output_layer
功能, 添加 output_layer
:
添加 RNN 中剩下的部分:
训练 LSTMRNN¶
最后cost
结果如下:
cost: 48.4813
cost: 9.9825
cost: 7.9988
cost: 5.8154
cost: 3.9268
cost: 2.4393
cost: 2.9643
cost: 0.4856
cost: 0.5175
cost: 0.7858