论文部分内容阅读
时间序列分类是时间序列数据挖掘的经典问题也是热点问题之一,它的主要内容是将未知类时间序列归类到已知的类别中。与传统的分类问题相比,时间序列数据的属性有先后次序关系,传统的分类问题则没有这方面的考虑。由于时间序列数据往往维度高且数据量大,导致按传统分类的方法在时间序列数据上进行特征选择的计算开销会很大。因此时间序列数据分类常与一般的分类问题被分离开来单独考虑。Ye和Keogh在2009年提出了一种叫shapelet的概念,shapelet是时间序列中能最大程度反映类别信息的一段连续子序列,可以很好地解释分类结果,即某个时间序列为什么属于某个类。基于shapelet的时间序列分类算法具备可解释性,且分类准确率高,分类速度快。在这些算法中,shapelet学习算法不依赖于单一分类器,可以学习出不在原始时间序列中的shapelet,可以取得较高的分类准确率,同时还可以保证shapelet发现和分类器构建同时完成。但它所产生的结果shapelet却实在太多,丧失了可解释性,且分类速度降低,并且参数依赖过多,导致训练时间太长,动态更新困难。本文对shapelet学习算法做了深入研究,目的是在保持shapelet学习算法高准确率的同时,最大程度地解决它存在的可解释性低、训练时间长这两个严重缺陷。在具体工作中,我们使用了一种新的选择性提取方法去选择shapelet候选集,并改变学习方法以此来加速shapelet学习过程。为了保留shapelet学习算法可以学习出原始时间序列中不存在的shapelet这一优势,并解决产生的结果shapelet过多这一问题,我们提出了两个优化策略。通过对原始训练集采用时间序列聚类,可以得到原始时间序列中没有的shapelet,同时在选择性提取算法中加入投票机制,以解决产生shapelet过多的问题。本文的主要贡献如下:1.针对目前shapelet学习算法存在的训练时间过长的问题,提出了一种从时间序列子序列中选择性提取shapelet候选集合的快速可解释算法。算法生成的shapelet候选集的质量得到了显著的提高,同时候选集的数量也大大减少。基于这两个特点,从候选集中学习最终shapelet会更快。2.针对生成的shapelet集合相似多导致解释性和分类速度降低的问题,提出了两个优化策略。首先对训练集使用子类聚类,可以使最终shapelet不拘泥于原训练集,同时使输入选择性提取算法中的时间序列之间更具差异性,有利于shapelet候选的提取。接着通过在选择性提取算法中加入投票机制,统计每个子序列的得票数量,并去掉相互之间重叠过多的子序列,使生成的shapelet重复数量大大减少。