一种基于FCN的多变量时间序列数据分类方法与流程

文档序号:24188582发布日期:2021-03-09 14:25阅读:733来源:国知局
一种基于FCN的多变量时间序列数据分类方法与流程
一种基于fcn的多变量时间序列数据分类方法
技术领域
1.本申请涉及数据处理领域,特别是一种基于fcn的多变量时间序列数据分类方法。


背景技术:

2.时间序列数据广泛存在于我们的生活中,天气预测,股票市场、医疗保健、人类活动识别等领域每天都在产生大量的时间序列数据。时间序列数据的主要特征在于按时间顺序索引一系列的数据点,任何具有时序属性的数据都可以被当作时间序列数据。随着数据获取和存储能力的提升,在实际应用中对时间序列数据进行分析的需求不断增加,如何进行准确的时间序列分类是数据挖掘中最具挑战性的问题之一。在心脏病学中,对心电信号进行分类,以区别心脏病患者和健康人。在异常检测中,通过监视unix系统上的用户系统访问活动来检测任何类型的异常行为。在人类活动识别中,根据传感器采集的数据进行人类活动判断也是一个典型的时间序列分类问题。
3.时间序列数据可以分为单变量时间序列(uts,univariate time series)和多变量时间序列(mts,multivariate time series)。由于uts只能描述事物某一方面的性质而不能满足大部分应用领域,现在研究者的重心都放在了mts分类,本文的研究也是针对多变量时间序列分类的。多变量时间序列可以视为多个单变量时间序列的集合,但是变量与变量之间可能还存在着相互作用。因此,mts应该作为一个整体来对待。面对高维的多变量时间序列,如何挖掘变量之间的关系成为多变量时间序列分类领域的巨大挑战。
4.近些年,深度学习方法的引入为多变量时间序列分类带来了可喜的结果。与人工构造规则抽取特征、设计模型的传统方法相比,深度学习算法可以自动地学习特征,这些特征更能够提取出数据蕴藏的丰富信息,从而达到较好的分类结果。但神经网络中众多参数的训练是一笔巨大的开销,即使在当今计算机硬件快速发展、计算能力显著提高的情况下,模型的训练速度仍然较慢。


技术实现要素:

5.鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种基于fcn的多变量时间序列数据分类方法,包括:
6.一种基于fcn的多变量时间序列数据分类方法,所述方法包括:
7.确定多变量时间序列数据对应的多变量高斯模型参数;
8.依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;
9.利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;
10.获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;
11.通过所述对应关系,确定与所述当前输入条件对应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所
述输入条件所对应的数据类别,确定为所述当前数据类别。
12.进一步地,所述确定多变量时间序列数据对应的多变量高斯模型参数的步骤,包括:
13.依据多变量高斯分布确定所述多变量时间序列数据中包含的特征的均值矩阵;
14.依据所述均值矩阵生成对应于所述多变量时间序列数据的特征关联性量化结果的协方差矩阵。
15.进一步地,所述依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件的步骤,包括:
16.将所述多变量时间序列数据通过三次样条插值填充生成等长多变量时间序列数据;
17.生成所述多变量时间序列数据所对应多变量高斯模型的均值矩阵;
18.将所述均值矩阵和所述协方差矩阵进行拼接,生成目标矩阵;
19.依据所述等长多变量时间序列数据、所述协方差矩阵和所述目标矩阵生成所述输入条件。
20.进一步地,所述建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系的步骤,包括:
21.获取用于建立所述输入条件与所述数据类别之间的对应关系的样本数据;
22.分析所述输入条件的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;
23.使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述输入条件与所述数据类别的所述对应关系。
24.进一步地,所述获取用于建立所述输入条件与所述数据类别之间的对应关系的样本数据的步骤,包括:
25.收集不同数据源的所述输入条件和所述数据类别;
26.对所述输入条件进行分析、并结合预存的专家经验信息,选取与所述数据类别相关的数据作为所述输入条件;
27.将所述数据类别、以及选取的所述输入条件构成的数据对,作为样本数据。
28.进一步地,对所述网络结构和所述网络参数进行训练,包括:
29.选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述输入条件输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;
30.确定所述实际训练结果与所述训练样本中的相应数据类别之间的实际训练误差是否满足预设训练误差;
31.当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;
32.和/或,
33.对所述网络结构和所述网络参数进行测试,包括:
34.选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述输入条件输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完
成的所述网络参数进行测试,得到实际测试结果;
35.确定所述实际测试结果与所述测试样本中的相应数据类别之间的实际测试误差是否满足设定测试误差;
36.当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。
37.进一步地,对所述网络结构和所述网络参数进行训练,还包括:
38.当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;
39.通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;
40.和/或,
41.对所述网络结构和所述网络参数进行测试,还包括:
42.当所述实际测试误差不满足所述设定测试误差时,对所述网络结构和所述网络参数进行重新训练,直至所述重新训练后的实际测试误差满足所述设定测试误差。
43.一种基于fcn的多变量时间序列数据分类装置,具体包括:
44.多变量高斯模型参数确定模块,用于确定多变量时间序列数据对应的多变量高斯模型参数;
45.输入条件生成模块,用于依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;
46.对应关系建立模块,用于利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;
47.当前输入条件确定模块,用于获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;
48.当前数据类别确定模块,用于通过所述对应关系,确定与所述当前输入条件对应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所述输入条件所对应的数据类别,确定为所述当前数据类别。
49.进一步地,所述多变量高斯模型参数确定模块,包括:
50.均值矩阵确定子模块,用于依据多变量高斯分布确定所述多变量时间序列数据中包含的特征的均值矩阵;
51.协方差矩阵生成子模块,用于依据所述均值矩阵生成对应于所述多变量时间序列数据的特征关联性量化结果的协方差矩阵。
52.进一步地,所述输入条件生成模块,包括:
53.等长多变量时间序列数据生成子模块,用于将所述多变量时间序列数据通过三次样条插值填充生成等长多变量时间序列数据;
54.均值矩阵生成子模块,用于生成所述多变量时间序列数据所对应多变量高斯模型的均值矩阵;
55.目标矩阵生成子模块,用于将所述均值矩阵和所述协方差矩阵进行拼接,生成目标矩阵;
56.输入条件生成子模块,用于依据所述等长多变量时间序列数据、所述协方差矩阵
和所述目标矩阵生成所述输入条件。
57.本申请具有以下优点:
58.在本申请的实施例中,通过确定多变量时间序列数据对应的多变量高斯模型参数;依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;通过所述对应关系,确定与所述当前输入条件对应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所述输入条件所对应的数据类别,确定为所述当前数据类别。通过将多变量时间序列数据对应的多变量高斯模型参数作为输入条件,在保证了精度的同时,极大地提高了人工智能模型的训练速度,且数据集维度越高,提升越为显著。
附图说明
59.图1是本申请一实施例提供的一种基于fcn的多变量时间序列数据分类方法的步骤流程图;
60.图2是本申请一实施例提供的gm-fcn模型结构示意图;
61.图3是本申请一实施例提供的一种基于fcn的多变量时间序列数据分类装置的结构框图。
具体实施方式
62.需要说明的是,面对众多的深度学习方法,本发明将具有出色性能的fcn(fully convolutional networks,全卷积网络)用于mts分类。鉴于多变量高斯模型参数不但可以自动识别并捕获不同变量间的关联性,同时对于高维mts还有降维的作用,本发明再结合多变量高斯模型,考虑将原始mts数据转化为多变量高斯模型参数作为神经网络输入,提出了一种基于fcn的多变量时间序列数据分类方法。具体地,本发明设计了三种不同形式的输入,探究了三种输入方式的实验效果,发现针对高维数据,将多变量高斯模型参数作为输入取得了良好的性能,在不损失精度的同时,极大地加快神经网络的训练。
63.需要说明的是,时间序列数据是在一段时间内由时间戳索引的一系列观测值,可以写作:
64.x={x1,x2,

,x
m
}
65.其中,x
i
={x
i
(1),x
i
(2),

x
i
(n)};m为变量的个数;n为观测值的个数。当m=1时,x
i
表示单变量时间序列(uts);当m≥2时,x表示多变量时间序列(mts)。mts可以被视为多个uts的集合。
66.数据集d={(x1,y1),(x2,y2),

(x
n
,y
n
)}是对(x
i
,y
i
)的集合,其中x
i
可以是单变量或多变量时间序列,以y
i
作为其对应的one-hot标签向量。对于包含k个类别的数据集,one-hot标签向量y
i
是长度为k的向量,如果x
i
的类别为j,则每个元素等j∈[1,k]等于1,否则为0。
[0067]
时间序列分类的任务就是利用训练数据集训练分类模型,再利用测试数据集测试模型的分类性能,完成时间序列与其正确标签的映射关系。
[0068]
参照图1,示出了本申请一实施例提供的一种基于fcn的多变量时间序列数据分类方法,所述方法包括:
[0069]
s110、确定多变量时间序列数据对应的多变量高斯模型参数;
[0070]
s120、依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;
[0071]
s130、利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;
[0072]
s140、获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;
[0073]
s150、通过所述对应关系,确定与所述当前输入条件对应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所述输入条件所对应的数据类别,确定为所述当前数据类别。
[0074]
在本申请的实施例中,通过步骤s110-s150。通过将多变量时间序列数据对应的多变量高斯模型参数作为输入条件,在保证了精度的同时,极大地提高了人工智能模型的训练速度,且数据集维度越高,提升越为显著。
[0075]
下面,将对本示例性实施例中基于fcn的多变量时间序列数据分类方法作进一步地说明。
[0076]
如上述步骤s110所述,确定多变量时间序列数据对应的多变量高斯模型参数;
[0077]
需要说明的是,多变量高斯分布是一元正态分布的高维泛化。与传统高斯模型不同,多变量高斯模型具备自动识别并捕获特征变量之间关联性的能力,因此多变量高斯模型非常适合于处理多变量数据。
[0078]
具体地,一元高斯分布建立的模型假定不同特征变量之间没有关联性,其概率密度只考虑每个特征变量的单独变化,无法对特征变量之间的关联性信息进行识别,故无法满足mts数据的需求。而多变量高斯模型可以在不需要建立新特征的基础上自动识别并捕获不同变量直接的关联性,考虑直接构建多变量高斯模型,来对多变量有序数据集(不同变量并不相互独立)进行处理。
[0079]
在一实施例中,可以结合下列描述进一步说明步骤s110所述“确定多变量时间序列数据对应的多变量高斯模型参数”的具体过程。
[0080]
如下列步骤所述,依据多变量高斯分布确定所述多变量时间序列数据中包含的特征的均值矩阵;
[0081]
如下列步骤所述,依据所述均值矩阵生成对应于所述多变量时间序列数据的特征关联性量化结果的协方差矩阵。
[0082]
作为一种示例,给定m维数据即{x1,x2,

,x
m
},其中x
i
={x
i
(1),x
i
(2),

,x
i
(n)},n为变量的观测值个数,由多变量高斯分布可计算得到所有特征的均值矩阵为μ,如下列公式所示:
[0083][0084]
所有特征的协方差矩阵σ的公式为,
[0085]
[0086]
将变长的mts数据转变为多变量高斯模型的参数,具有两个好处。第一,是能够实现将不同长度的mts数据映射到同一大小的空间上,即变量的维度的大小上;第二,多变量高斯模型可以利用协方差矩阵对不同特征之间的相互影响进行量化,自动识别并捕获多变量特征之间的关联性。
[0087]
如上述步骤s120所述,依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;
[0088]
需要说明的是,由于全卷积网络(fcn)的输入要求必须是等长的mts数据,其无法直接处理可变长度的mts数据。而在很多实际问题中mts数据的长度往往是不一致的。例如,uci(university of californiairvine加州大学欧文分校)机器学习库提供的japanesevowels(日语元音)数据集收集了九名男性发言者连续发出两个日语元音/ae/,每位说话者的一个话语形成时间序列,其长度在7-29的范围内。所以,对于不同长度的原始mts数据应该对其进行数据预处理将其映射到同一长度。
[0089]
在一实施例中,可以结合下列描述进一步说明步骤s120所述“依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件”的具体过程。
[0090]
如下列步骤所述,将所述多变量时间序列数据通过三次样条插值填充生成等长多变量时间序列数据;
[0091]
需要说明的是,通过插值法将较短的多变量时间序列进行插值填充。插值是离散函数逼近的重要方法,可通过特定函数在有限个点处的取值状况,估算出该函数在其他点处的近似值。样条插值是一种工业设计中常用的、得到平滑曲线的一种插值方法,三次样条又是其中使用较为广泛的一种。本实施例使用的插值方法就是三次样条插值法,能够将较短的原始mts数据非常平滑地填充为当前数据集中最长样本的长度。具体算法过程如下列algorithm 1所示:
[0092]
algorithm 1obtaining time series datasets with equal length
[0093]
input:the train datasets train_x and the test datasets test_x
[0094]
output:the equal-length train datasets train_x'and the equal-length test datasets test_x'
[0095]
1.l
train

max length(train_x)
[0096]
2.l
test

max length(test_x)
[0097]
3.l
max

max(l
train
,l
test
)
[0098]
4.train_x'

cubic spline interpolation(train_x,l
max
)
[0099]
5.test_x'

cubic spline interpolation(test_x,l
max
)
[0100]
其中,l
train
表示训练集中最长样本的长度;l
test
表示测试集中最长样本的长度,l
max
表示训练集和测试集中最长样本的长度。
[0101]
如下列步骤所述,生成所述多变量时间序列数据所对应多变量高斯模型的均值矩阵;
[0102]
如下列步骤所述,将所述均值矩阵和所述协方差矩阵进行拼接,生成目标矩阵;
[0103]
需要说明的是,本实施例将多变量高斯模型参数作为fcn的输入,具体算法过程如下列algorithm 2所示。这样能够在即使是高维的mts数据,它的维度大小相对于长度也是很小的,而把多变量高斯模型参数代替原来的mts数据作为fcn的输入,进行模型训练时能
够减少很多的计算量,从而能达到提高模型训练速度的目的。
[0104]
algorithm 2 obtaining mean and covariance matrix
[0105]
input:the multivariate time series sample x
[0106]
output:the meanμ,the covariance matrixσand the matrix c concatenated by the mean and covariance matrix
[0107]
1.μ

mean(x)
[0108]
2.σ

covariance(x)
[0109]
3.c

concatenation(σ,μ)
[0110]
如下列步骤所述,依据所述等长多变量时间序列数据、所述协方差矩阵和所述目标矩阵生成所述输入条件。
[0111]
综上,本实施例中作为人工智能模型的输入包括通过上述步骤生成的3种形式的时间序列数据:
[0112]
1.通过三次样条插值填充得到的等长多变量时间序列;
[0113]
2.多变量高斯模型的协方差矩阵;
[0114]
3.将多变量高斯模型的协方差矩阵和均值矩阵进行拼接得到的新矩阵。
[0115]
如上述步骤s130所述,利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;
[0116]
需要说明的是,本实施例采用的全卷积神经网络由三个卷积层组成,每个卷积层包含三个操作:卷积,然后进行批归一化,其结果被馈送到relu激活函数。全局平均池化层将第三个卷积层结果的每个特征矩阵分别计算均值,最后输入到一个由softmax函数激活的全连接层分类器,其神经元个数等于数据集中的类数。
[0117]
作为一种示例,所述人工智能模型的卷积层:
[0118]
fcn中卷积层是特征提取器,卷积层可以表示为:
[0119][0120]
s=bn(y)
[0121]
h=relu(s)
[0122]
通过堆叠三个卷积层来构建最终网络,其中,是卷积运算符;bn()表示批归一化;relu()是激活函数。
[0123]
卷积
[0124]
卷积核可以将当前层神经网络上的一个子节点矩阵转化为下一层神经网络上的一个单位节点矩阵。单位节点矩阵指的是一个长和宽都为1,深度为卷积核数的节点矩阵。为了提取更丰富的特征,fcn中的三个卷积层分别包含128,256,128个卷积核,卷积核的大小分别为8*8、5*5、3*3,在一个卷积层中使用的卷积核参数都是一样的。为了卷积层前向传播结果矩阵的尺寸大小和当前层矩阵保持一致,在当前层的矩阵边界上采用全0填充(zero-padding)。
[0125]
假设α为输入矩阵;使用w
ix,y,z
来表示对于输出单位节点矩阵中的第i个节点,卷积核输入节点(x,y,z)的权重;使用b
i
表示第i个输出节点对应的偏置项参数。那么单位矩阵中的第i个节点的取值g(i)为:
[0126][0127]
其中,f()为当前使用的激活函数。
[0128]
批归一化
[0129]
训练过程中各层输入的分布随前一层参数的变化而变化,使得训练深度神经网络变得复杂。网络中的每层必须根据每批输入的不同分布重新调整其权重,从而减缓模型的训练速度。
[0130]
若可以使每层输入的分布更相似,那么网络可以专注于学习类别之间的差异。google提出了一个深度神经网络训练的技巧:批归一化(batch normalization,bn),批归一化就是对训练中某一个batch的数据进行归一化处理。batch normalization首先求每一训练批次数据的均值与方差。然后使用求得的均值和方差对该批次的训练数据做归一化,获得均值为零,方差为一的正态分布
[0131][0132]
其中,μ
x
为当前训练批次的均值;σ
2x
为当前训练批次的方差;ε的作用是防止分母为零。
[0133]
由于归一化后的数据基本会被限制在正态分布下,使得网络的表达能力下降。为此,batch normalization引入两个新的参数γ和β,对数据分布进行尺度的变换和偏移,这一步是batch normalization的关键,γ和β是在训练时神经网络自动学习得到的:
[0134][0135]
relu激活函数
[0136]
在卷积块中选用了非饱和非线性的relu函数作为激活函数,relu函数是在x=0在基础上面截去了x<0的部分,仅仅保留正的输入部分,其公式为:y=max{0,x}。relu函数具有很好的稀疏性和优良的非线性特性,同时计算更加高效。
[0137]
全局平均池化
[0138]
传统的cnn在卷积层对原始数据进行特征提取之后会接上若干个全连接层,将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量,再通过激活函数进行分类。但是,全连接层有一个非常致命的弱点就是参数量过大,尤其是与最后一个卷积层相连的全连接层。为此,fcn在最后一个卷积层之后添加一个全局平均池化层(global average pooling,gap),resnet也采用了这种策略,将最后一个卷积层的每个特征图转化为一个特征值。减少了参数数量,降低训练模型的计算量;同时降低参数过多导致过拟合的可能。
[0139]
全连接层
[0140]
全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。在整个fcn中全连接层起到了分类器的作用。其基本运算如下式所示。
[0141]
h=x@w+b
[0142]
其中,h是全连接层的一个输出子节点;x为输入矩阵;w为权重矩阵;@为点乘运算符;b为偏置项,是一个标量。
[0143]
得到全连接层的输出后,还要经过激活函数才能得到最终的分类结果,在网络最后使用的是softmax激活函数。softmax函数不仅能将多个神经元的输出,映射到(0,1)区间内,还满足所有的输出值之和为1的特性,将输出层的结果经过softmax函数激活后可以看作是属于各个分类的概率,从而来进行多分类。softmax函数定义为:
[0144][0145]
在一实施例中,可以结合下列描述进一步说明步骤s130所述“利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系”的具体过程。
[0146]
获取用于建立所述输入条件与所述数据类别之间的对应关系的样本数据;
[0147]
分析所述输入条件的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;
[0148]
使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述输入条件与所述数据类别的所述对应关系。
[0149]
在一实施例中,所述获取用于建立所述输入条件与所述数据类别之间的对应关系的样本数据的步骤,包括:
[0150]
收集不同数据源的所述输入条件和所述数据类别;
[0151]
对所述输入条件进行分析、并结合预存的专家经验信息,选取与所述数据类别相关的数据作为所述输入条件;
[0152]
将所述数据类别、以及选取的所述输入条件构成的数据对,作为样本数据。
[0153]
在一实施例中,对所述网络结构和所述网络参数进行训练,包括:
[0154]
选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述输入条件输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;
[0155]
确定所述实际训练结果与所述训练样本中的相应数据类别之间的实际训练误差是否满足预设训练误差;
[0156]
当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;
[0157]
和/或,
[0158]
对所述网络结构和所述网络参数进行测试,包括:
[0159]
选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述输入条件输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完成的所述网络参数进行测试,得到实际测试结果;
[0160]
确定所述实际测试结果与所述测试样本中的相应数据类别之间的实际测试误差是否满足设定测试误差;
[0161]
当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。
[0162]
在一实施例中,
[0163]
对所述网络结构和所述网络参数进行训练,还包括:
[0164]
当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;
[0165]
通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;
[0166]
和/或,
[0167]
对所述网络结构和所述网络参数进行测试,还包括:
[0168]
当所述实际测试误差不满足所述设定测试误差时,对所述网络结构和所述网络参数进行重新训练,直至所述重新训练后的实际测试误差满足所述设定测试误差。
[0169]
如上述步骤s140所述,获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;
[0170]
如上述步骤s150所述,通过所述对应关系,确定与所述当前输入条件对应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所述输入条件所对应的数据类别,确定为所述当前数据类别。
[0171]
在一具体实现中,使用基于kullback-leibler散度和高斯模型的mts分类方法(kld-gmc)作为baseline(基线),从uci机器学习库和cmu(carnegie mellon university,卡内基梅隆大学)的graphics lab motion capture database(图形实验室运动捕获数据库)中选择了4个真实的高维数据集,评估不同预处理的数据输入到fcn网络所得到的分类性能。
[0172]
具体地,uci机器学习库提供了1个数据集,japanesevowels数据集。japanesevowels数据集采集了九名男性发出两个日语元音/ae/的语音。对每个语音样本都应用了12-degree的线性预测分析处理,形成包含12个lpc倒谱系数(即具有12个变量的mts样本)的640个离散的时间序列,每个mts样本的长度在7到29之间。数据集中样本的总数为640,其中,270个作为训练集,370个作为测试集。分类目标是通过两个日语元音/ae/的发音来区分九个男性说话者。
[0173]
cmu建立了一个graphics lab motion capture database,从中选择walkvsrun数据集、kickvspunch数据集和cmusubject16数据集用于本具体实现的验证。表1给出了所有数据集的相关信息。
[0174][0175]
表1
[0176]
根据本文方法的需要,四个数据集均经过数据预处理,分别得到通过插值填充得到的等长数据和对它们计算得到的协方差矩阵、均值矩阵。获得的3种输入数据的尺寸如表2所示:
[0177]
nameoriginalcovcov_meanjapanesevowels29*1212*1213*12cmusubject16580*6262*6263*62kickvspunch841*6262*6263*62walkvsrun1918*6262*6263*62
[0178]
表2
[0179]
在表2中,以japanesevowels数据集的等长mts(original)为例,29为数据集中最长样本的长度,12为数据集的维度。而对其求得的协方差矩阵尺寸为12*12,均值矩阵的尺寸为1*12,所以其协方差矩阵(cov)输入的尺寸为12*12,协方差矩阵和均值矩阵进行拼接得到的新矩阵(cov_mean)的尺寸为13*12。
[0180]
本具体实现通过下列三组对比实验进行验证,分别包括:
[0181]
1.将由等长mts数据训练得到的fcn模型与kld-gmc进行对比,验证fcn是否适用于mts数据的分类。
[0182]
2.使用相同的fcn模型,分别输入等长mts数据和多变量高斯模型参数训练fcn,对比模型分类结果,验证利用多变量高斯模型参数训练模型是否具有良好的分类效果。
[0183]
3.通过对fcn网络训练一个样本的耗时进行对比分析,验证将mts转换多变量高斯模型参数作为训练数据能否提高模型训练速度。
[0184]
评价标准:实验通过准确率来衡量的本文提出方法的性能。另外,还考虑了训练模型的耗时,对比了不同形式数据输入,fcn训练一个样本所需的时间长短。
[0185]
对比实验的分类结果见表3,对比训练一个样本耗时结果见表4。
[0186]
namekld-gmcfcn_mtsfcn_covfcn_cov_meanjapanesevowels0.9810.9920.8430.989cmusubject161.0001.0001.0000.966kickvspunch0.7000.9001.0001.000walkvsrun1.0001.0001.0001.000avg_acc0.9200.9730.9610.989
[0187]
表3
[0188]
首先观察第一组实验的结果,根据表3第二列的结果可以看出,直接利用mts训练得到的fcn分类模型就能取得很好的效果,在kld-gmc基础上,准确度得到了进一步提升,证明了fcn确实适用于mts数据的分类任务,能够自动抽取出有效特征,训练出优良的时间序列分类模型。
[0189]
其次是第二组对比实验,观察表3的后三列,使用相同的fcn模型,对比分别输入等长mts和多变量高斯模型参数进行模型训练的结果。综合在多个数据集上的实验结果,平均准确率最高的是充分利用了多变量高斯模型参数训练得到的fcn模型,这说明了模型参数确实包含了足够的信息来训练优质的mts分类模型。但是在部分数据集上,使用模型参数训练的模型性能稍低于使用原始mts数据训练的模型。认为造成这种结果的原因是,将mts转换为多变量高斯模型参数时,协方差虽然能识别并捕获变量之间的相关性信息,但是可能忽略了变量值随时间变化的特征而丢失部分时序信息。不过,根据分类结果也能看出,性能依旧是是非常优越的,这说明了利用模型参数作为输入数据训练神经网络模型是有道理
的,模型参数确实从原始的mts数据中抽取出了重要信息,神经网络模型能够根据这些信息学习到能够决定mts数据分类的特征。
[0190]
然后对比表3后两列的结果,还能观察到使用协方差矩阵和拼接矩阵训练模型进行分类的结果,在绝大多数据集上,拼接矩阵效果要更好,说明均值也是mts数据的重要属性,认为均值在整体层面上一定程度地反应了该mts的特性。将均值矩阵拼接到协方差矩阵可以增加输入到模型的信息量,给神经网络提供更多的信息进行训练,得到更好的分类模型。这其中也存在了一个问题,虽然考虑了将协方差矩阵和均值矩阵拼接在一起增加了输入信息,但是这样简单拼接两个模型参数的做法不够合理,因为当卷积核移动到最后一行时,卷积核会对均值和部分协方差参数进行卷积操作,反而可能会使神经网络在抽取特征时迷惑,不能准确地识别特征,导致分类结果下降。针对这个问题,特别是对于低维数据集,应该设计更好的结合方式将这两个参数组合在一起,充分利用已有的信息。
[0191]
namefcn_mtsfcn_covfcn_cov_meanjapanesevowels734us504us537uscmusubject1641000us3000us4000uskickvspunch127000us4000us3000uswalkvsrun184000us4000us3000us
[0192]
表4
[0193]
表4展示了对于不同输入形式,fcn模型训练一个样本的耗时。协方差矩阵和拼接矩阵的大小非常相近,其fcn训练模型的耗时也约等于相等。对照数据输入的尺寸表2,可以清晰地看到,将mts转换成多变量高斯模型参数能够极大地减小神经网络输入的数据量,减少了计算量。在表4中的结果也显示了,对于数据样本长度远大于其维度的数据集(walkvsrun数据集),训练时间甚至可以减少几十倍。对于很多高维数据集,它们的维度也是远小于其数据长度的,将其转换为多变量高斯模型参数可以很大程度上降低数据维度,减少模型训练时间。同时,多变量高斯模型恰好就是擅长于识别并捕获变量之间的相关性信息。所以,基于fcn的结合多变量高斯模型参数的mts分类方法非常适合应用在高维的长时间序列上。
[0194]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0195]
参照图3,示出了本申请一实施例提供的一种基于fcn的多变量时间序列数据分类装置,具体包括:
[0196]
多变量高斯模型参数确定模块310,用于确定多变量时间序列数据对应的多变量高斯模型参数;
[0197]
输入条件生成模块320,用于依据所述多变量高斯模型参数和所述多变量时间序列数据生成输入条件;
[0198]
对应关系建立模块330,用于利用人工智能模型的学习能力,建立所述输入条件与所述多变量时间序列数据的数据类别之间的对应关系;
[0199]
当前输入条件确定模块340,用于获取目标的当前多变量时间序列数据,并依据所述当前多变量时间序列数据确定对应的当前输入条件;
[0200]
当前数据类别确定模块350,用于通过所述对应关系,确定与所述当前输入条件对
应的当前数据类别;具体地,确定与当前输入条件对应的数据类别,包括:将所述对应关系中与所述当前输入条件相同的所述输入条件所对应的数据类别,确定为所述当前数据类别。
[0201]
在一实施例中,所述多变量高斯模型参数确定模块310,包括:
[0202]
均值矩阵确定子模块,用于依据多变量高斯分布确定所述多变量时间序列数据中包含的特征的均值矩阵;
[0203]
协方差矩阵生成子模块,用于依据所述均值矩阵生成对应于所述多变量时间序列数据的特征关联性量化结果的协方差矩阵。
[0204]
在一实施例中,所述输入条件生成模块320,包括:
[0205]
等长多变量时间序列数据生成子模块,用于将所述多变量时间序列数据通过三次样条插值填充生成等长多变量时间序列数据;
[0206]
均值矩阵生成子模块,用于生成所述多变量时间序列数据所对应多变量高斯模型的均值矩阵;
[0207]
目标矩阵生成子模块,用于将所述均值矩阵和所述协方差矩阵进行拼接,生成目标矩阵;
[0208]
输入条件生成子模块,用于依据所述等长多变量时间序列数据、所述协方差矩阵和所述目标矩阵生成所述输入条件。
[0209]
在一实施例中,所述对应关系建立模块330,包括:
[0210]
获取子模块,用于获取用于建立所述输入条件与所述数据类别之间的对应关系的样本数据;
[0211]
分析子模块,用于分析所述输入条件的特性及其规律,根据所述特性及其规律,确定所述人工神经网络的网络结构及其网络参数;
[0212]
训练子模块,用于使用所述样本数据,对所述网络结构和所述网络参数进行训练和测试,确定所述输入条件与所述数据类别的所述对应关系。
[0213]
在一实施例中,所述获取子模块,包括:
[0214]
收集子模块,用于收集不同数据源的所述输入条件和所述数据类别;
[0215]
分析子模块,用于对所述输入条件进行分析、并结合预存的专家经验信息,选取与所述数据类别相关的数据作为所述输入条件;
[0216]
样本数据生成子模块,用于将所述数据类别、以及选取的所述输入条件构成的数据对,作为样本数据。
[0217]
在一实施例中,所述训练子模块,包括:
[0218]
训练结果生成子模块,用于选取所述样本数据中的一部分数据作为训练样本,将所述训练样本中的所述输入条件输入到所述网络结构,通过所述网络结构的损失函数,激活函数和所述网络参数进行训练,得到实际训练结果;
[0219]
训练结果误差判断子模块,用于确定所述实际训练结果与所述训练样本中的相应数据类别之间的实际训练误差是否满足预设训练误差;
[0220]
训练完成判定子模块,用于当所述实际训练误差满足所述预设训练误差时,确定对所述网络结构和所述网络参数的所述训练完成;
[0221]
和/或,
[0222]
测试子模块,用于对所述网络结构和所述网络参数进行测试,所述测试子模块,包括:
[0223]
测试结果生成子模块,用于选取所述样本数据中的另一部分数据作为测试样本,将所述测试样本中的所述输入条件输入到所述训练完成的所述网络结构中,以所述损失函数,激活函数和所述训练完成的所述网络参数进行测试,得到实际测试结果;
[0224]
测试结果误差判断子模块,用于确定所述实际测试结果与所述测试样本中的相应数据类别之间的实际测试误差是否满足设定测试误差;
[0225]
测试完成判定子模块,用于当所述实际测试误差满足所述设定测试误差时,确定对所述网络结构和所述网络参数的所述测试完成。
[0226]
在一实施例中,
[0227]
所述训练子模块,还包括:
[0228]
网络参数更新子模块,用于当所述实际训练误差不满足所述设定训练误差时,通过所述网络结构的误差损失函数更新所述网络参数;
[0229]
第一重训练子模块,用于通过所述网络结构的所述损失函数,激活函数和更新后的所述网络参数进行重新训练,直至所述重新训练后的实际训练误差满足所述设定训练误差;
[0230]
和/或,
[0231]
所述测试子模块,还包括:
[0232]
第二重训练子模块,用于当所述实际测试误差不满足所述设定测试误差时,对所述网络结构和所述网络参数进行重新训练,直至所述重新训练后的实际测试误差满足所述设定测试误差。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1