一种基于改进LSTM的原烟堆垛内部温度预测算法的制作方法

文档序号:30646425发布日期:2022-07-05 23:08阅读:144来源:国知局
一种基于改进LSTM的原烟堆垛内部温度预测算法的制作方法
一种基于改进lstm的原烟堆垛内部温度预测算法
技术领域
1.本发明属于原烟养护领域,更具体的说涉及一种基于改进lstm的原烟堆垛内部温度预测算法


背景技术:

2.片烟目前已成为原烟的主要贮存形式,存储片烟的堆垛内部的温湿度环境直接影响片烟的醇化效果,而片烟的醇化效果关乎卷烟成品的质量。片烟的醇化效果与存储环境的温湿度有着密切的关系。因此,在片烟的自然醇化过程中,对片烟堆垛内部的温湿度环境进行监控是一项必要的工作,其可指导相关人员可以及时采取措施避免所养护烟叶发生霉变,减少损失。因此对片烟堆垛内部未来一段时间内的温度数据进行预测非常有必要。
3.关于数据预测这方面国内外已有众多学者做了相应研究。其中有将降水临近预报描述为一个时空序列预测问题,之中的输入和预测目标都是时空序列。通过利用lstm有效预测了降水临近的数据。还有一种研究采用先进的深度神经网络(dnn)学习技术对路面表面温度进行预测,用于道路盐渍化管理。使用了逐时太阳辐射和气温数据,以及安大略多伦多市周围的道路天气信息系统(rwis)收集的路面表面温度数据。将卷积神经网络(convolutional neural network,cnn)与长短时记忆(long short-term memory,lstm)相结合的dnn模型应用于路面表面温度预测,并与lstm、卷积-lstm(convolutional-lstm,convlstm)、序列对序列(sequence-to-sequence,seq2seq)、小波神经网络(wavelet neural network,wavenet)等4种比较机器学习方法进行对比。也有人提出了一种基于长短时记忆(lstm)的预测模型用于精确预测,通过对各种网络模型进行统计分析,得到适合于精确预测太阳能功率和温度的网络结构。
4.另外也有人使用循环神经网络(recurrent neural network,rnn)对温度进行预测,取得了非常好的效果,长短期记忆(long short-term memory,lstm)网络因为可以解决rnn的梯度消失和梯度爆炸、长期记忆能力不足的缺点。还有人提出了结合长短期记忆神经网络lstm与梯度提升算法lightgbm的组合模型,对客运站环境温度值进行预测。基于lstm-lightgbm的组合模型预测方法可以保留lstm模型对单变量预测的周期性特点,且可表现出环境特征变量输入lightgbm模型后对温度预测的非平稳变化。结果表明基于lstm-lightgbm的组合模型方法比单纯使用lstm方法更接近原始波形,具有更低的rmse。有人通过控制变量法对混流闭式冷却塔进行了测试,采用灰色关联分析法对影响出水温度的因素进行筛选,将关联度较大的5个因子作为输入参数,进而建立灰色bp神经网络预测模型,对混流闭式冷却塔的出水温度进行预测。操作参数包括进水温度、湿球温度、补水温度、循环水流量和风量,输出值为出水温度。
5.在处理温度预测问题时,对于时间序列数据一般使用rnn(recurrent neural network,循环神经网络),rnn的主要作用是将之前处理过的信息与当前的任务进行连接。但是当之前的信息位置和目前预测位置之间的间隔不断增大时,rnn会丧失连接间隔较远信息的学习能力,然而lstm网络不存在这种缺陷。


技术实现要素:

6.本发明为解决rnn的梯度消失和梯度爆炸、长期记忆能力不足的缺点,以及提高lstm的训练速度和计算精度,提出了一种基于改进lstm的原烟堆垛内部温度预测算法,将som(self-organizing maps,som)算法与lstm结合起来,首先预处理数据,归一化时间序列数据,随后将归一化的数据分为训练集和测试集,输入som神经网络,将数据聚类,接着构建lstm神经网络结构,输入温度训练数据进行训练,同时对未来附近时间段内室内温度进行预测,之后预测输出,并通过实际数据衡量算法效果,通过均方根误差(rmse)等指标来衡量实验结果。实验结果证明,本算法可以实现较为精确的原烟堆垛内部温度预测。
7.为了实现上述目的,本发明采用以下技术方案实现,一种基于改进lstm的原烟堆垛内部温度预测算法,该算法用于监控和预测烟垛内部的温度变化,其特征在于,所述的温度预测算法采用以下步骤实现:
8.步骤1.预处理数据,归一化时间序列数据;
9.步骤2.将归一化后的数据划分为训练集和测试集,输入som神经网络,将数据聚类;
10.步骤3.构建lstm神经网络结构,输入温度训练数据进行训练,同时对未来附近时间段内室内温度进行预测;
11.步骤4.预测输出,并通过实际数据衡量算法效果。
12.优选地,在所述的步骤1中为了提高lstm的训练速度和预测精度,将不同日期的温度数据进行归一化处理,归一化公式为:
13.x
norm
=(x-x
mean
)/(x
max-x
min
)
14.其中,x
mean
是所用数据的平均值,x
max
是所用数据的最大值,x
min
是所用数据的最小值。
15.优选地,在所述的步骤2中,提取各条数据之间的差异性,将归一化后的数据划分为训练集和测试集,输入som神经网络,把相同聚类结果的数据归为一类,为下一步的lstm神经网络提供不同类别的数据集以提高预测精度。
16.优选地,在所述步骤3中,som-lstm训练的求解器设置为adam,梯度阈值设置为1,指定初始学习率0.002,在125轮训练后通过乘以因子0.2来降低学习率。
17.优选地,在所述步骤4中,先选取前半部分温度数据对其进行预测,得到后半部分的预测温度,再与后面已知的真实温度数据做对比,从而证明该算法的预测可靠程度。
18.优选地,通过均方根误差(rmse)指标来衡量预测结果。
19.有益效果:
20.本发明为解决rnn的梯度消失和梯度爆炸、长期记忆能力不足的缺点,以及提高lstm的训练速度和计算精度,提出了一种基于改进lstm的原烟堆垛内部温度预测算法,将som(self-organizing maps,som)算法与lstm结合起来,首先预处理数据,归一化时间序列数据,随后将归一化的数据分为训练集和测试集,输入som神经网络,将数据聚类,接着构建lstm神经网络结构,输入温度训练数据进行训练,同时对未来附近时间段内室内温度进行预测,之后预测输出,并通过实际数据衡量算法效果,通过均方根误差(rmse)等指标来衡量实验结果。实验结果证明,本算法可以实现较为精确的原烟堆垛内部温度预测。
附图说明
21.图1为标准lstm细胞结构图;
22.图2为数据归一化;
23.图3为总体算法流程图;
24.图4为无线传感器摆放图(节选);
25.图5为不同算法下的温度预测值;
26.图6为基于som-lstm的温度部分预测;
27.图7为基于som-lstm的温度部分预测与真实值对比;
28.图8为som-lstm温度预测结果。
具体实施方式
29.为了便于本领域一般技术人员理解和实现本发明,现结合附图及具体实施例进一步描述本发明的技术方案。
30.lstm算法本质上是循环神经网络(rnn)的一种特殊模型,用来处理rnn训练过程中梯度消失和梯度爆炸的问题,形成了记忆数据和结果数据的独立传输机制。lstm的关键就是细胞状态cell,cell在整个链上运行过程中只有一些少量的线性交互,因此信息在上面流动传输会不容易被改变。由图1可以看出,lstm拥有三个门来保护和控制细胞状态。这三个门分别是遗忘门、输入门和输出门。
31.lstm中第一步是决定会从细胞状态中丢弃什么信息。这个决定通过遗忘门完成。该门会读取h
t-1
和x
t
,输出一个在0到1之间的数值给每个在细胞状态c
t-1
中的数字。1表示“完全保留”,0表示“完全舍弃”。
32.f
t
=σ(wf·
[h
t-1
,x
t
]+bf)
ꢀꢀꢀ
(1)
[0033]
其中h
t-1
表示的是上一个cell的输出,x
t
表示的是当前细胞的输入。σ为一个向量,输出的每个元素都是一个在0和1之间的实数,表示让对应信息通过的权重,如:0表示“任何信息不可通过”,1表示“所有信息可通过”。
[0034]
lstm中第二步是决定让多少新的信息加入到cell状态中来。此过程包括两个步骤:
[0035]
(1)σ层为“输入门层”,决定哪些信息将要更新;
[0036]
(2)tanh层生成一个新的候选向量即备选用来更新的内容;
[0037]
联合两部分,对cell的状态进行一个更新
[0038]it
=σ(wi·
[h
t-1
,x
t
]+bi)
ꢀꢀꢀ
(2)
[0039][0040]
更新旧cell状态,c
t-1
更新为c
t
,新的候选值为:
[0041][0042]
(1)lstm中第最后一步是确定输出什么值。此值基于cell状态,也是一个过滤后的值。
[0043]
(2)运行h
t
=o
t
·
tanh(c
t
)层来确定细胞状态的哪个部分将输出出去。
[0044]
(3)cell状态通过tanh进行处理(得到一个在-1到1之间的值)并将它和σ门的输出
相乘确定输出值
[0045]ot
=σ(wo[h
t-1
,x
t
]+bo)
ꢀꢀꢀ
(5)
[0046]ht
=o
t
·
tanh(c
t
)
ꢀꢀꢀ
(6)
[0047]
其中w=[wf,wi,wc,wo]表示待训练的权重矩阵,b=[bf,bi,bc,bo]表示偏置量,表示不同时间的cell状态。
[0048]
自组织映射(self-organizing maps,som)算法作为一种聚类和高维可视化的无监督学习算法,是通过模拟人脑对信号处理的特点而发展起来的一种人工神经网络。som网络由输入层和竞争层(输出层)组成。输入层神经元数为n,竞争层由m个神经元组成,竞争层通常为一维或者二维平面阵列,网络是全连接的,即每个输入结点都同所有的输出结点相连接。
[0049]
输入层:接收外界信息,将输入模式向竞争层传递,起“观察”作用;
[0050]
竞争层:负责对输入模式进行“分析比较”,寻找规律并归类。
[0051]
竞争学习规则就是从神经元细胞的侧抑制现象获得的,它的学习步骤如下:
[0052]
(1)向量归一化
[0053]
对自组织网络中的当前输入模式向量x、竞争层中各神经元对应的权向量ωj(j=1,2,

,m),全部进行归一化处理,得到和
[0054][0055][0056]
(2)寻找获胜神经元
[0057]
将与竞争层所有神经元对应的权向量ωj(j=1,2,

,m)进行相似性比。最相似的神经元获胜,权向量为
[0058]
(3)网络输出与权调整
[0059]
按wta学习法则,获胜神经元输出为“1”,其余为0,即
[0060][0061]
只有获胜神经元才有权调整其权向量w
j*
,其权向量学习调整如下:
[0062][0063]
0≤α≤1为学习效率,α一般随着学习多维进展而减少,即调整的程度越来越小,趋于聚类中心。
[0064]
(4)重新归一化处理
[0065]
归一化后的权向量经过调整后,得到的新向量不再是单位向量,因此要对学习调整后的向量重新归一化,循环运算,直到学习率α衰减到0。
[0066]
本发明提出的温度预测算法具体步骤如下:
[0067]
(1)数据预处理:为了提高lstm的训练速度和预测精度,将不同日期的温度数据进行归一化处理,归一化公式为:
[0068]
x
norm
=(x-x
mean
)/(x
max-x
min
)
ꢀꢀꢀ
(11)
[0069]
其中:x
mean
是所用数据的平均值,x
max
是所用数据的最大值,x
min
是所用数据的最小值。归一化后的温度数据如图2所示。
[0070]
(2)som聚类:提取各条数据之间的差异性,将归一化将后的数据划分为训练集和测试集,输入som神经网络,把相同聚类结果的数据归为一类,为下一步的lstm神经网络提供不同类别的数据集以提高预测精度。
[0071]
(3)再构建lstm神经网络结构,输入温度训练数据进行训练,同时对未来附近时间段内室内温度进行预测。
[0072]
(4)预测输出并通过实际数据衡量算法效果。
[0073]
总体算法流程如图3所示。
[0074]
本发明实验数据由红云红河公司物流中心原料仓储科露天堆垛在2021年4月25日-5月1日一周内的某一烟垛每间隔30分钟的温度监测数据拟合而成。传感器的最大布设上限为n
max
=80个,传感器在室内中的摆放信息记录共分8段,由于篇幅问题本发明只选了第一段第一层的无线传感器摆放示意图,如图4所示。本实验中传感器对温度的监测时间间隔为30min。
[0075]
为了保证实验的科学性,使用在预测领域常用的评价指标:均方误差(mse)、均方根误差(rmse)、平均绝对误差(mae)和判定系数(r2)来衡量实验结果。
[0076][0077][0078][0079]
式中,y
p
(i)为时间序列预测后的结果,y
t
(i)为待预测时间序列样本,yn为待预测时间序列样本的均值。通常情况下,r2值越大,rmse值越小则预测的结果就越准确。
[0080]
为了验证som-lstm方法的可行性,本发明将该方法与lstm和bp神经网络算法预测效果进行了比较。采用matlab编程环境搭建并训练了算法模型,选取部分数据进行温度预测,本次实验选取135个真实数据为采样点对不同的算法进行对比。som-lstm训练的求解器设置为adam,梯度阈值设置为1,指定初始学习率0.002,在125轮训练后通过乘以因子0.2来降低学习率。图5为三种不同方法的温度预测效果。
[0081]
从图5可以看出:bp神经网络在拐点处温度预测误差较大,预测结果具有不稳定性。lstm和som-lstm都具有良好的稳定预测效果,但是相比于lstm,som-lstm算法的预测值更贴近真实值,因此对未来一段时间内温度进行预测采取som-lstm算法是最优的。
[0082]
利用som-lstm算法对未来温度进行预测,为检验该算法自身的准确性,先选取前半部分温度数据对其进行预测(图6),再与后面已知的真实温度数据做对比(图7),从而证明该算法的预测可靠程度。本次实验选取的数据为前177次采样点的真实温度值,预测出第178-197次测量的温度数据。
[0083]
图7中黄色线条为温度实际值,黄色带点线条为温度预测值,蓝色线条为温度测试值。横坐标的每个采样点为每隔30min测量出的温度数据。计算预测出第178-197次测量的温度数据rmse为0.3474,可知预测出的数据与真实数据基本相切合,证明该算法的预测效果较好。
[0084]
由于对未来一段时间内温度进行预测采取som-lstm算法是最优的,因此继续进行实验:随机选取某处的传感器,对同一个传感器未来时间段内温度数据进行预测,为最大化消除实验带来的偶然性,用lstm网络对温度数据进行多次训练和预测,取结果的平均值作为最终预测结果,结果如图8所示。
[0085]
从图8可以看出使用som-lstm网络模型可以有效地对温度进行跟踪,曲线走势基本一致。用该方法可预测出未来某段时间内的温度数据。图9为误差图,中间两条蓝色横线数值分别为0.0250和-0.0250,可以看出误差主要集中在此区间内。
[0086]
选取不同迭代次数,误差结果不同,本发明提出算法与传统lstm的比较结果见表1。
[0087][0088]
表1不同算法的预测对比
[0089]
由上表可以看出bp算法的误差最大,som-lstm的误差最小;训练数据的迭代次数越多,预测结果误差就越小。迭代次数增加的同时,算法所用时间并没有明显增加,因此迭代次数应处于200-300之间。rmse越小表明预测值和实际值的线条越贴近,也即对未来温度数据预测越准确。
[0090]
在片烟的自然醇化过程中,如何对烟包内的温度水分进行监控,是片烟科学养护的一个重要工作。针对烟垛内部的温湿度变化趋势对养护烟叶有产生霉变的可能性问题,本发明提出了改进的lstm预测方法,将som算法与lstm结合起来,首先预处理数据,归一化时间序列数据,随后将归一化的数据分为训练集和测试集,输入som神经网络,将数据聚类,接着构建lstm神经网络结构,输入温度训练数据进行训练,再将三种不同算法对温度预测的结果做对比,证明了som-lstm算法的优越性,同时对未来附近时间段内室内温度进行预测,之后预测输出,并通过实际数据衡量算法效果,通过均方根误差(rmse)等指标来衡量实验结果。实验采用红云红河公司物流中心原料仓储科露天堆垛一周内的温度监测数据对算法效果进行验证,计算出均方根误差为0.06左右。实验结果证明,通过som-lstm模型算法可以进行有效的温度预测。
[0091]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1