基于手工特征的时域序列数据分类方法的基本思想是,通过特征提取将序列数据从原始空间映射到特征空间,得到序列数据的特征表示,再将特征表示输入支持向量机(Support Vector Machine, SVM)等分类器,实现类别划分。
根据所提取特征的不同,基于手工特征的序列数据分类方法可以划分为
SVM 的分类过程分为训练和测试两个阶段。
近邻算法有两个弱点
shapelets可以减轻这两个弱点。
基于 Shapelets的序列数据分类方法的核心思想是提取具有类别区分性的子序列
Shapelets 算法可以分为三部分,分别是
算法在训练阶段需要确定 Shapelets 和对应的阈值
由于Shapelets 的长度一般小于序列数据的长度,所以在 Shapelets 算法中,通常采用滑窗的方式求解 Shapelets 和序列数据之间的距离。
给定序列数据长度为N,和shapelets的长度为M。以M为滑窗长度对M长序列进行截取,一共能截取出(N-M)个子序列,并计算这些子序列和shapelets的距离,取其中最小值,即作为此长度为 N 的序列数据 X 和长度为 M(M < N) 的 Shapelets二者之间距离。
根据生成方式的不同,可以将候选 Shapelets 的生成方法归为两类。一类称为
直接提取法
,另一类称为学习法
是指从序列数据中提取子序列作为候选 Shapelets。
由于子序列的数量与序列数据的长度和个数成正比,将所有子序列遍历一遍所需的时间复杂度较高,为了减小 Shapelets 的搜索空间,通常会预先设定候选 Shapelets 的最大长度和最小长度。
除此之外,还会采用子序列距离提前终止技术
和熵剪枝技术
对获选 Shaplets 进行筛选以减少计算量。
快速 Shapelets(Fast Shapelets, FS)搜索方法在以上策略的基础上,引入 SAX 模型中的字符表示方法,采用随机掩码进一步提高搜索效率,搜索速度相比之前提高了三个数量级。
由于 FS 寻找是近似最优解,因此相比于原始的 Shapelets 方法,在分类精度上有所降低。
学习法通过随机初始化或者 K 均值初始化,生成初始 Shapelets.
借助神经网络,采用随机梯度下降法最小化交叉熵损失函数,迭代更新Shapelets。
计算复杂度比直接提取法更小,同时能够生成训练集中不存在的子序列。
传统基于 Shapelets 的序列数据分类方法将 Shapelets 的提取与筛选合并到决策树的构建过程中,方法本身的分类精度受限于决策树的性能。
Shapelets 变换(Shapelets Transform, ST) 采用 F 统计量从候选 Shapelets 集合中挑选出 K个最有效的 Shapelets,通过计算序列数据与各个 Shapelets 间的距离,将序列数据变换到 Shapelets 特征空间,再在特征空间中训练分类器。
由于 Shapelets 的提取筛选与分类器的选取无关,因此挑选拟合性能更强的分类器可以进一步提升序列数据的分类精度。
基于区间特征的序列数据分类方法根据区间特征的不同,可以细分为基于模式袋模型(Bag of Patterns, BoPs)
的序列数据分类方法和基于统计量
的序列数据分类方法。
BOPs 方法来源于经典的词袋模型(Bag of Words, BoWs)
BoPs 方法的核心思想在于,通过滑窗截取将子序列转化为字符串表示,用字符串的统计直方图表征整个序列数据对于噪声、数据缺失等情况具有较好的鲁棒性。
包括滑窗截取、量化和直方图构建三部分。
BoPs 方法首先通过滑窗截取子序列,然后通过不同的量化方法将子序列转化为字符串,最后将滑窗遍历整个序列数据,统计各种字符串出现的频数,构建字符串直方图,最后将字符串直方图输入分类器,得到分类结果。
目前已提出的 BOPs 方法有:
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。