一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于SAM-BiLSTM时间序列分类方法

2022-07-10 15:00:29 来源:中国专利 TAG:

一种基于sam-bilstm时间序列分类方法
技术领域
1.本发明涉及时间序列的数据挖掘技术、深度学习领域,具体涉及一种基于sam-bilstm时间序列分类方法。


背景技术:

2.时间序列广泛存在于医疗、电力和金融等领域。时间序列的分类是非常重要的基础任务,其可以通过计算时间序列之间的相似度来实现。动态时间规整(dtw)距离被广泛认为是时间序列的最佳相似性度量。它使用动态规划算法确定最佳对齐方式,能考虑时间上的偏移、缩放和变形等。但dtw距离存在两方面的局限性。首先,动态规划算法的时间复杂度是时间序列长度的二次方,使得分类和检索的规模无法适应大型数据集。其次,dtw距离是伪度量,因为其不满足三角不等式。当与基于核函数的分类器或传统索引优化技术结合使用时,无法得到最优解。
3.深度学习作为当前机器学习中的一个主流领域,其凭借海量数据驱动,可以自动的获取到深层且抽象的特征表达,很多时候可以替代人工设计的特征。深度学习算法是一种端到端的算法,它属于表示学习的一种,只需要数据输入和对应目标输出,在此过程中省去了人工特征提取工程,这是深度学习区别于传统算法的特点。如果使用人工进行特征提取,那么人工特征提取的优劣决定了分类的精度。人工进行提取的特征不仅简单而且还不稳定这就会影响模型的质量,不能对时间序列数据进行有效的特征提取,因此,利用深度学习模型来进行时间序列数据的分类。由于注意力机制可以自适应的挖掘每个序列数据的判别模式特征,所以在深度学习模型中引入注意力机制可以有效的提取特征达到“去粗取精”的效果,对充分挖掘数据信息具有重要的作用。


技术实现要素:

4.为了克服上述现有技术,本发明提出了一种tdlas中激光器线宽对气体吸收谱线影响的分析及仿真方法,本系统以tdlas技术为基础,结合可调谐半导体激光吸收光谱技术,利用simulink软件处理数据,实现了检测中激光器线宽对气体吸收谱线影响的分析及仿真。本发明是为了解决现有技术中的上述缺陷,提供了一种基于sam-bilstm时间序列分类方法,利用双向长短期记忆网络(bi-lstm)结合注意力机制,提出了一种一维时间序列分类模型,以达到提高一维时间序列数据分类准确率的目的。
5.实现本发明的技术方案是:一种基于sam-bilstm时间序列分类方法,包括以下步骤:
6.(1)通过matlab仿真得到的电能质量数据集并进行归一化处理;
7.(2)利用bi-lstm神经网络进行时间特征的提取,使用的是包括输入门、输出门、遗忘门和状态单元的长短期记忆神经元模块,其输出结果的计算公式如下:
8.f
t
=δ(wfx
t
ufh
t-1
bf)
9.i
t
=δ(wix
t
u
iht-1
bi)
10.c
t
=fi*c
t-1
i
t
*tanh(wcx
t
uch
t-1
bc)
11.o
t
=δ(wox
t
u
oht-1
bo)
12.h
t
=o
t
*tanh(c
t
)
13.由于本发明模型采用的是双向的lstm,即在原有的正向lstm网络层上添加一层反向的lstm层,可以表示为:
[0014][0015]
其中,x
t
为第t时刻的时间序列,w为权重矩阵,该权重矩阵包括输入权重矩阵wi,遗忘权重矩阵wf,输出、遗忘、输出细胞单元权重矩阵wi、wf、wo,细胞单元权重矩阵wc,输出权重矩阵wo;b为偏置向量,该偏置向量包括输入、遗忘、细胞单元、输出偏置,下标分别为i、f、c、o;分别为时刻t的输入门,遗忘门,输出门和状态,c
t-1
和c
t
表示第t-1时刻和第t时刻的细胞单元状态,h
t
表示t时刻lstm的输出向量,h
t
表示t时刻bi-lstm的输出向量;
[0016]
(3)在bi-lstm层后添加自注意力机制,利用bi-lstm进行时间序列数据的特征提取,然后对提取到的特征进行权重加权,自动寻找出对输出贡献大的部分,加以较高的权重,从而使其对输出的影响加强。
[0017]
a=softmax(wstanh(h
t
))
[0018]cij
=a
ijhij
[0019]
其中,h
t
表示输入数据通过特征提取得到的隐层状态的转置,ws表示训练学习到的参数,softmax函数是对结果进行归一化,a是注意力系数。
[0020]
(4)输出层是接收来自注意力机制加权之后的特征向量,然后在输出层上进行分类操作。根据实际情况,使用softmax设定分类的数目对一维时间序列进行分类。
[0021]
本发明和现有技术方法相比,具有以下优势:
[0022]
(1)利用bi-lstm作为时间序列特征提取的基础网络能够比较充分的提取特征信息;
[0023]
(2)由于自注意力机制它能够捕获时间序列内部之间的依赖关系,使其得到输入数据自身的特征,自动的寻找出对输出贡献大的部分,加以较高的权重,从而使其对输出的影响加强,所以在bi-lstm层之后添加自注意力机制来对时间序列提取特征进行干预,从而使得提取的特征更加准确合理,提高分类准确率;
附图说明
[0024]
图1为本发明基于sam-bilstm时间序列分类方法的流程图;
[0025]
图2为本发明网络模型结构示意图;
[0026]
图3为本发明网络分类结果可视化图;
具体实施方式
[0027]
下面结合附图并与具体实施方法对本发明作进一步详细说明:
[0028]
图1为本发明基于sam-bilstm时间序列分类方法的流程图;
[0029]
准备数据集:通过matlab根据表1中给出了七种类型的单一扰动,根据扰动组合的规律,选取了七种复合扰动,分别为:谐波 脉冲、谐波 振荡、谐波 波动、谐波 暂升、谐波 中断、谐波 波动 暂降、谐波 波动 脉冲,以基波频率fo=50hz,采样频率为fs=6400hz,每
个采样的点数为512,仿真出数据,为了适应不同幅值的信号,电压值归一化为1。由于实际电能质量数据会受到噪声的影响,所以在仿真数据上添加信噪比20db的高斯白噪声;仿真得到的电能质量数据;每种类型的复合扰动共产生1500个样本,其中1200个用来训练网络,300个用来测试准确率;因此,对于7种复合扰动共计产生8400个训练样本,2100个测试样本。
[0030]
表1 电能质量扰动模型表达式
[0031][0032]
利用图2的基于sam-bilstm时间序列分类网络模型进行训练,模型具体如下:
[0033]
(1)输入层读取一维时间序列数据,对输入的一维时间序列和标签分别进行处理,按照实际情况划分训练集、验证集和测试集,在数据集过少的情况下采用k折交叉验证,这样可以避免由于随机分割而带来的误差。然后对一维时间序列数据进行归一化处理,x
t
是t时刻的一维时间序列输入,根据序列的长度选择是否进行分割以及批处理的数量。输入层分别连接前向lstm和后向lstm单元。
[0034]
(2)bi-lstm层它是利用bi-lstm构成的循环神经网络进行时间特征的提取。bi-lstm层它是由前向的lstm和后向的lstm组成,每个单元接收上一时刻的隐层输出以及当前时刻的输入,然后通过前向lstm和后向lstm单元分别提取时间序列的前向与后向的特征信息,从而完整的捕获了一个时间序列的全局信息。在实际应用中时间序列数据的特征数量有限,所以模型所需要的参数量很少,通过多次不同的实验来确定bi-lstm神经元的个数,最终通过实验确定本章节所使用的内部神经元数量为128。
[0035]
(3)在bi-lstm层后添加自注意力机制,利用bi-lstm进行时间序列数据的特征提取,然后对提取到的特征进行权重加权,由于时间序列数据的不同位置提取到的特征不同,每一部分对最后输出的影响因子不同,因此,利用自注意力机制能够捕获时间序列内部之间的依赖关系,还能够捕获输入数据自身的特征,自动寻找出对输出贡献大的部分,加以较
高的权重,从而使其对输出的影响加强。因此,在bi-lstm层之后添加了自注意力机制。
[0036]
(4)输出层是接收来自注意力机制加权之后的特征向量,然后在输出层上进行分类操作。根据实际情况,使用softmax设定分类的数目对一维时间序列进行分类。
[0037]
使用训练好的网络模型进行分类测试,分类测试结果如下表1,分类测试结果可视化如图3所示。
[0038]
表1 实验结果和对比
[0039][0040]
表1中还引入该算法和其他算法在分类准确率上的对比,从实验结果可以看出,本发明针对一维时间序列数据分类分类问题,提出了一种基于sam-bilstm时间序列分类网络方法,该模型在一维时间序列数据分类任务中具有准确高的特点。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献