当前位置:   article > 正文

LSTM预测股票走势的原理_使用lstm模型预测股票价格的趋势

使用lstm模型预测股票价格的趋势

前提

在这里插入图片描述
经历了上证指数2023年末的2900保卫战、2800保卫战、2700保卫战,最终却以2635收官;经历了基金公司利用转融通各种双向打击基民和股民;经历了购买公司股份约等于收购公司。。。。。。

与其被不知不觉地各种割,不如有文化地被不知不觉地各种割。本文在此介绍一种预测股票走势的算法:LSTM。
在这里插入图片描述
LSTM算法是一种重要的目前使用最多的时间序列算法,是一种特殊的RNN(Recurrent Neural Network,循环神经网络),能够学习长期的依赖关系。主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。

LSTM网络结构

所有RNN都具有神经网络的重复模块链的形式。 在标准的RNN中,该重复模块将具有非常简单的结构,例如单个tanh层。

标准的RNN网络如下图所示:
在这里插入图片描述
LSTM也具有神经网络的重复模块链的形式。只是在RNN的基础上,每个重复模块增加了三个神经网络层,如下图所示:
在这里插入图片描述
图中的绿色大框代表单元模块;黄色方框代表神经网络层;粉色圆圈代表逐点操作,例如矢量加法;箭头表示向量转换,从一个节点输出到另一个节点输入;合并的行表示串联,而分叉的行表示要复制的内容,并且副本将到达不同的位置。

和RNN不同的是:RNN中,就是个简单的线性求和的过程。而LSTM可以通过“门”结构来去除或者增加“细胞状态”的信息,实现了对重要内容的保留和对不重要内容的去除。通过Sigmoid层输出一个0到1之间的概率值,描述每个部分有多少量可以通过,0表示“不允许任务变量通过”,1表示“运行所有变量通过”。

LSTM核心思想

在这里插入图片描述
首先CNN的主线就是这条顶部水平贯穿的线,也就是长期记忆C线(细胞状态),达到了序列学习的目的。而h可以看做是短期记忆,x代表事件信息,也就是输入。LSTM也是以这一条水平贯穿的C线为主线,在此基础上添加三个门,以保护控制单元状态。所以LSTM有删除或向单元状态添加信息的能力,都是由这门的结构来调节控制的。这个门(gate)是一种选择性的让信息通过的方式。它是由Sigmoid神经网络和矩阵逐点乘运算组成。

LSTM增加的三个神经网络层就代表LSTM的三个门(遗忘门、记忆门、输出门):

遗忘门

在我们LSTM中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成。该门会读取ht−1和xt,输出一个在0到1之间的数值给每个在细胞状态Ct−1中的数字。1表示“完全保留”,0表示“完全舍弃”。
在这里插入图片描述
其中ht−1表示的是上一个cell的输出,xt表示的是当前细胞的输入。σσ表示sigmod函数。

输入门

下一步是决定让多少新的信息加入到cell状态中来。实现这个需要包括两个步骤:首先,一个叫做“input gate layer”的sigmoid层决定哪些信息需要更新;一个tanh层生成一个向量,也就是备选的用来更新的内容,C^t。在下一步,我们把这两部分联合起来,对cell的状态进行一个更新。
在这里插入图片描述
现在是更新旧细胞状态的时间了,Ct−1更新为Ct。前面的步骤已经决定了将会做什么,我们现在就是实际去完成。

我们把旧状态与ft相乘,丢弃掉我们确定需要丢弃的信息。接着加上it∗C~t。这就是新的候选值,根据我们决定更新每个状态的程度进行变化。

输出门

最终,我们需要确定输出什么值。这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。首先,我们运行一个sigmoid层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过tanh进行处理(得到一个在-1到1之间的值)并将它和sigmoid门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。
在这里插入图片描述
LSTM公式详解

  • 遗忘门(forget gate):它决定了上一时刻的单元状态c_t-1有多少保留到当前时刻c_t
  • 输入门(input gate):它决定了当前时刻网络的输入x_t有多少保存到单元状态c_t
  • 输出门(output gate):控制单元状态c_t有多少输出到LSTM的当前输出值h_t

公式:
在这里插入图片描述
遗忘门的计算为:
在这里插入图片描述
遗忘门的计算公式中,W_f是遗忘门的权重矩阵,[h_t-1,x_t]表示把两个向量连接成一个更长的向量,b_f是遗忘门的偏置项,σ是sigmoid函数。

输入门的计算:
在这里插入图片描述
根据上一次的输出和本次输入来计算当前输入的单元状态:
在这里插入图片描述
当前时刻的单元状态c_t的计算:由上一次的单元状态c_t-1按元素乘以遗忘门f_t,再用当前输入的单元状态c_t按元素乘以输入门i_t,再将两个积加和:这样,就可以把当前的记忆c_t和长期的记忆c_t-1组合在一起,形成了新的单元状态c_t。由于遗忘门的控制,它可以保存很久很久之前的信息,由于输入门的控制,它又可以避免当前无关紧要的内容进入记忆。
在这里插入图片描述
输出门的计算:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/465584
推荐阅读
相关标签
  

闽ICP备14008679号