笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值,找寻数据的秘密,笔者认为,数据的价值不仅仅只体现在企业中,个人也可以体会到数据的魅力,用技术力量探索行为密码,让大数据助跑每一个人,欢迎直筒们关注我的公众号,大家一起讨论数据中的那些有趣的事情。
我的公众号为:livandata
主要是处理序列数据时用到的方法。
其对应的模型为:
其对应的函数方法为:
其运算过程,主要是上一个节点的运算结果与本节点的输入值加权求和,经过一个激活函数,形成输出值。
RNN在使用过程中会形成相应的变种:
第一种:双向RNN,即RNN在运算的过程中会记录网络的返回值。
每个节点在计算最终输出结果时有四部分组成:
Ø 正向上一个节点的计算结果、正向本节点的输入值;
Ø 反向上一个节点的计算结果、反向本节点的输入值;
第二种:LSTM长短期记忆网络:
长短时记忆网络的思路比较简单。原始RNN的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。那么,假如我们再增加一个状态,即c,让它来保存长期的状态。
新加的状态C称为单元状态,是用来记忆长期的计算结果的。
LSTM的关键,就是怎样控制长期状态C。在这里,LSTM的思路是使用三个控制开关。
第一个开关:负责控制继续保存长期状态C;
第二个开关:负责控制把即时状态输入到长期状态C;
第三个开关:负责控制是否把长期状态c作为当前的LSTM的输出。
三个开关的作用如下图所示:
具体的前向计算步骤为: