Python基于RNN的温室温度预测研究+源代码(3)
时间:2019-04-27 15:27 来源:毕业论文 作者:毕业论文 点击:次
1.2. 国内外研究现状 1.3. 研究内容与技术路线 1.3.1. 研究内容 本设计主要是实现基于LSTM的神经网络。该设计通过实现了LSTM的特有的带有忘记门、输入门、细胞状态更新和输出门的节点,包括细胞内部的细节,将处理过的温室温度数据进行训练,预测结果的误差控制在较小的范围内。 1.3.2. 技术路线 理解机器学习的基本概念->了解RNN网络结构->了解LSTM网络结构->配置Python环境->配置NumPy等组件包->学习Python和NumPy的使用方法->建立LSTM网络模型->处理数据->研究处理出现的问题。 2. RNN的介绍和分析 2.1 RNN简介 多层反馈RNN(Recurrent Neural Network)神经网络是一种人工神经网络(Artificial Neural Network)。但是与传统的人工神经网络不同,它的神经网络节点定向连接,形成环状。这种特殊的结构使它具有在处理单元之间的数据传递时,在其隐藏层内部既能够前向传播又能够反向传播的能力,在其内部,神经元细胞的状态可以动态地表现时序行为。通过这种神经元细胞间的反向传递,使得它具有记忆的能力,而前馈神经网络不具备记忆这种能力。所以,对于任意时序的输入数据,它都可以利用这种记忆的能力进行处理。因此,RNN比普通的前馈神经网络具有更强的动态行为和计算能力。定向循环结构如图2.1所示: 图 2.1 RNN定向循环结构 RNNs的目的就是用来处理序列数据。在传统的神经网络模型中,一个神经网络模型一般是三层结构,有三个神经层,它们分别是输入层、隐含层和输出层,每层之间有一些神经元,他们之间互相是没有连接的,但是会和相邻层的神经元建立连接。因为这种结构,限制了神经网络的学习能力。例如,现在要用这种三层结构的神经网络预测一个句子之后出现的是哪一个词。这种情况下,多半需要根据前面的词形成的语义来预测,毕竟一个句子中用的单词会符合某种语法规则或者常用方法。RNN之所以被叫做循环神经网络,就是因为它的隐藏层的输出同时会成为隐藏层的输入,数据流在隐藏层之间不断地循环。所以,它的隐藏层之间的神经元是互相连接的,可以互相传递信息,这样就知道了上一个时刻的信息,神经元也就具有了记忆。根据这种构想,任意时序、长度的序列数据它都可以进行处理。但是在实践中,为了降低实现的复杂程度,一般假设此时刻的状态只与之前的若干状态有关 (责任编辑:qin) |