一种基于Shapelet的多传感器融合的活动识别方法与流程

文档序号:17374146发布日期:2019-04-12 23:06阅读:522来源:国知局
一种基于Shapelet的多传感器融合的活动识别方法与流程

本发明涉及时间序列分类、活动识别领域,具体的涉及一种基于shapelet的多传感器融合的人类活动传感器数据的分类方法。



背景技术:

随着可穿戴传感器技术的飞速发展,人类活动识别(har)由于其在各种应用领域中的高需求而引起人们极大的关注,具有非常广泛的应用前景。同时,在不同的领域催生出了很多基于感知计算的应用,例如健康医疗、智能家居、体感游戏机等。迄今为止,基于可穿戴传感的活动识别仍然存在着很多问题,为了提高识别的准确性,人们一直致力于基于可穿戴传感器的活动识别的研究。

目前,已经存在很多研究成果实现了对不同的人体活动进行分类识别,包括基于传统机器学习的方法和基于模板匹配的方法。现有的活动识别方法在一定程度上存在缺陷,比如需要考虑时间序列的全局特征,容易受到噪音数据的影响,从而影响预测的精度。shapelet是一种具有辨识性的时间序列子序列,利用识别局部特征达到对时间序列准确分类的目的,具有可解释性。因此使用shapelet来对活动识别传感器数据这种时间序列进行分类能够解决数据噪音等问题。

由于人体活动传感器数据的复杂性,传统的基于shapelet的多元时间序列分类方法在应用到活动识别领域时,无法取得较好的效果。mueena等人提出的将多元时间序列级联成一个一元的时间序列,再按照一元时间序列分类的方法进行分类,该方法需要付出较高的计算代价。ghalwash等人通过求解凹凸优化问题来提取shapelet,该方法在每一维上只能提取一个shapelet,对分类精度会造成一定的影响。

omp.patri2014年提出的sf算法,是多元时间序列分类的典型算法之一。sf算法将特征提取和特征选择结合在一起,在多元时间序列的每一维上提取shapelet,为每一维构建决策树,并为这一棵决策树学习一个权值,最终分类结果通过各个有权值的决策树投票产生。基于shapelet的多元时间序列分类的另一个典型的算法为se(shapeletensemble)算法。由mscetin等人于2015年提出。se算法同样对多元时间序列的每一维提取shapelet,并为每一维的shapelet构建一个随机森林,多个维度组成多个随机森林,通过投票产生最终的分类结果。

上述的基于shapelet的多元时间序列分类方法多用于工业中的异常检测和医疗中患者病情诊断,当应用到活动识别领域,用于对人类活动传感器数据进行分类时效果不佳。



技术实现要素:

本发明提供一种基于shapelet转换的多元时间序列分类方法mtc-bst,解决了现有方法不得不足。该方法把时间序列的每一维上提取的shapelet组成一个shapelet集合,将用于训练的多元时间序列与shapelet集合计算距离作为新的训练集,最后使用随机森林作为分类器对新的训练集进行训练生成模型,所生成的模型能准确地分类日常活动的传感器数据,同时与传统的基于传感器的活动识别方法相比,可以使用更少的数据集达到更高的准确率。

本发明采用的技术方案:

一种基于shapelet转换的的多元时间序列分类方法,将所有传感器信息组成一个分类器,这样做的好处是在分类不同的活动时考虑所有传感器的信息,避免由于单个传感器分类不准确导致整体投票不准确的问题。

具体包括如下步骤:

第一步,对多维时间序列的每一维提取shapelet

将传感器采集到的活动数据集分为两部分:训练集和测试集,对训练集中的多维时间序列的每一维,产生所有长度为minlen到maxlen的候选shapelet集,计算出每一个候选shapelet的信息增益值,并将shapelet按照信息增益值的大小进行排序,同时,移除掉自相似的shapelet,所述自相似的shapelet为来自同一条时间序列且具有重叠的shapelet;从移除自相似后的shapelet中选取出信息值最大的k个shapelet组成kshapelets集;从训练集的每一维中提取出的shapelet都要加入到kshapelets集中,不断更新kshapelets集,使得kshapelets中始终保存着当前最好的k个shapelet;

从训练集中提取出了kshapelets后,将kshapelets进行聚类操作,得到含有s个shapelet的sshapelets集,即为所有传感器产生的shapelet的一个融合;

第二步,建立myinstance集

myinstance集是由相同时间间隔内各个传感器的数据及所属的类别组成,将不同传感器文件中行号相同的时间序列及这一组时间序列的标签组合在一起,每个传感器文件中有n条时间序列,则最终产生n个myinstance,形成myinstance集;

第三步,计算相似性矩阵

相似性矩阵是通过sshapelets集与myinstance集计算距离得到的一个新的数据集,新的数据集以矩阵的形式体现;sshapelets中的每一个shapelet来自多维时间序列中的一维,myinstance集中的一个myinstance是多维的时间序列,多维的myinstance与一维的shapelet计算距离的规则是:当前shapelet属于哪一维度,就计算该shapelet与myinstance哪一维的距离,即计算shapelet与myinstance中与shapelet同一维度的时间序列的距离;将shapelet作为行,myinstance作为列,计算得出的距离作为矩阵中的元素,该矩阵称为相似性矩阵,将该相似性矩阵作为新的训练集;

第四步,训练模型及预测

对新的训练集使用机器学习分类算法进行训练,产生活动识别模型;将第一步中的测试集做第二步、第三步操作,得到测试集的相似性矩阵,将该相似性矩阵放入到活动识别模型中,模型自动给出预测结果。

进一步地,上述第四步,所述的机器学习分类算法为随机森林、决策树,svm,神经网络中的一种。

本发明的有益效果为,基于shapelet的多传感器融合的活动识别方法,将所有传感器信息组成一个分类器,这样做的好处是在分类不同的活动时考虑所有传感器的信息,避免由于单个传感器分类不准确导致整体投票不准确的问题。同时,通过识别局部特征达到对时间序列准确分类的目的,能够减少噪音的影响。

附图说明

图1是本发明中多元时间序列与shapelet距离计算过程图。

图2是本发明的整个训练过程图。

图3是该发明在pamapindoor公开数据集上取得的结果。

图4是该发明在pamapoutdoor公开数据集上取得的结果。

图5是该发明在smartphonewrist公开数据集上取得的结果。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实例,对本发明做进一步详细说明。这些实例仅仅是说明性的,而并非对本发明的限制。

具体的实施步骤:

步骤一,加载12个传感器数据文件,分别表示加速度传感器x轴的数据,加速度传感器y轴的数据,加速度传感器z轴的数据,陀螺仪x轴数据等等。每个文件包含1000行,101列,每一行表示一个时间段的传感器数据,每一列表示一个时间点,第101列表示该传感器数据的类别。将加速度x轴传感器每一行数据切分成长度为40-60的子序列作为候选shapelet,计算所产生的子序列的信息增益值,并根据信息增益的大小排序选出候选shapelet中信息增益最大的200个形成kshapelet集。对于其他的传感器文件,做同样的操作,不断更新kshapelet集,使得kshapelet集中始终保持200个shapelet。再将这200个shapelet进行聚类操作,最终得到含有130个shapelet的sshapelet集。

步骤二,将所加载的12个传感器数据文件中的行号相同的行组成一个myinstance,如:将加速度x轴传感器数据文件的第一行,加速度y轴传感器数据文件的第一行,加速度传感器z轴数据文件第一行等放在同一个数组中,作为一个myinstance。由于传感器数据文件含有1000行,所以最终形成含有1000个myinstance的myinstance集。

步骤三,步骤一中得到的sshapelet集与步骤二中得到的myinstance集计算距离,得到相似性矩阵,该相似性矩阵可以视为由原始时间序列训练集转换的新的训练集,作为机器学习分类算法的输入特征。得到相似性矩阵的过程如图1所示。由于shapelet集中的第一个shapelet来自于加速度传感器y轴数据,所以相似性矩阵第一行第一列位置的元素大小应为第一个shapelet与第一个myinstance中的加速度传感器y轴的时间序列的距离。相似性矩阵第一行第二列位置的元素大小应为第二个shapelet与第一个myinstance中的加速度传感器z轴的时间序列的距离。矩阵中其他元素的计算过程同理。

步骤四,该过程与传统的机器学习分类方法相同。整个训练过程的示意图如图2所示,该发明所提出的方法在三个公开的活动识别数据集pamapindoor,pamapoutdoor,smartphonewrist上的识别结果分别如图3,图4,图5所示。

可以载入各种人类活动传感器数据文件,通过测试,本发明和之前的方法相比,可以使用更少的训练数据产生更高的准确率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1