用LSTM做一个简单预测的Demo

来源:互联网 发布:小米手机清空用户数据 编辑:程序博客网 时间:2024/06/14 06:46

LSTM

LSTM(Long Short-Term Memory)是长短期记忆网络,是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。

LSTM 已经在科技领域有了多种应用。基于 LSTM 的系统可以学习翻译语言、控制机器人、图像分析、文档摘要、语音识别图像识别、手写识别、控制聊天机器人、预测疾病、点击率和股票、合成音乐等等任务。

1 LSTM的结构

RNN(循环神经网络)有一个缺点就是不能有效地保留长时间的记忆信息,LSTM对隐藏层的设计做了相应的该进。LSTM的隐藏层的核心设计,是一种叫记忆体(cell state)的信息流,它负责这些信息的处理(对应4个门)。

1.1 忘记门(Forget Gate Layer)

忘记门控制着应该忘记哪些信息。忘记门通过传统激活函数sigmoid(cita)来实现.

图一 忘记门的逻辑设计

通过上一层的输出信息ht-1和当前信息Xt进行线性组合后,利用激活函数,将其函数值进行压缩,得到一个大小在0和1之间的阈值。当函数值越接近1,表示记忆体保留的信息越多。当函数值接近0,表示记忆体丢失的信息越多。

1.2 输入门(input Gate Layer)

输入门决定着当前时刻的输入信息Xt,有多少信息被加到信息流里面。公式it.依然用sigmod激活函数。

图二 输入门与候选门的逻辑设计

1.3 候选门(Candidate Layer)

候选门用来计算当前的输入和过去的记忆所具有的信息的总和。公式是图二中的Ct。

记忆的更新由两个部分组成 :第一部分是通过忘记门过滤之前的记忆,大小为ft x Ct-1.第二部分是添加当前的新增的数据信息,添加的比比例由输入门控制,大小为it xCt..得到更新后的记忆信息如下:Ct

图三 更新后的记忆信息

1.4 输出门(output gate Layer)

输出门控制着有多少记忆信息被用于下一个阶段的更新中,输出门依然使用sigmoid激活函数,公式如下Ot.

Ot是一个大小在0和1之间的权重值,传递给下一个阶段信息是上图的ht.

上图是LSTM网络几个基本概念。隐藏层几个门的设计,可能根据实际的需求来分析。

公式总结:

2 用LSTM完成一个简单的预测

http://download.csdn.net/download/qq_37879432/10113892

相关文章

http://blog.csdn.net/qq_37879432/article/details/78546984

http://blog.csdn.net/dream_catcher_10/article/details/48522339

http://blog.csdn.net/mounty_fsc/article/details/53114698