用LSTM做一个简单预测的Demo
来源:互联网 发布:小米手机清空用户数据 编辑:程序博客网 时间:2024/06/14 06:46
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
- 用LSTM做一个简单预测的Demo
- 用 LSTM 做时间序列预测的一个小例子
- 用 LSTM 做时间序列预测的一个小例子
- 简单的做了一个苹果支付的demo
- 【demo】使用React+Webpackt做一个简单的todolist
- [js]用原始的dom对象做的一个简单demo
- 使用R的prophet包做一个简单的时序预测
- 用 LSTM 来做一个分类小问题
- TensorFlow-Bitcoin-Robot:一个基于 TensorFlow LSTM 模型的 Bitcoin 价格预测机器人。
- TensorFlow-Bitcoin-Robot-一个基于 TensorFlow LSTM 模型的 Bitcoin 价格预测机器人
- Tensorflow lstm实现的小说撰写预测
- Tensorflow LSTM时间序列预测的尝试
- Tensorflow LSTM时间序列预测的尝试
- tensorflow 下 用lstm预测sin
- 这是我做的一个比较简单的基于Android的APP的demo
- 用 Java + ExtJS 的 Grid 控件做一个 Demo
- 一个简单的Flex Demo
- 一个简单的触发器(Demo)
- 关于MIUI 9沉浸式状态栏的最新适配
- android中实现对多个EditText的监听
- 深度学习的一些参数说明以及trick
- HDU-2870 Largest Submatrix (线性dp 最大01矩阵)(2009 Multi-University Training Contest 7 )
- Redis 学习笔记(二)之字符串类型命令
- 用LSTM做一个简单预测的Demo
- 加法变乘法
- ansible执行脚本时显示Permission denied
- 关于iOS9之后的loadViewIfNeeded
- httclient
- java 常用集合list与Set、Map区别及适用场景总结
- theano入门学习
- 在html页面显示html代码
- SpringBoot-Kafka