基于时域表示的序列数据分类方法(二)——基于手工特征的时域序列数据分类方法

基于时域表示的序列数据分类方法(二)——基于手工特征的时域序列数据分类方法


文章目录

  • 基于时域表示的序列数据分类方法(二)——基于手工特征的时域序列数据分类方法
  • 一、手工特征分类方法
  • 二、基于 Shapelets 的序列数据分类方法
    • 1.shapelets距离计算
    • 2.候选shapelets生成与筛选
      • 1)**直接提取法**
      • 2)学习法
    • 3.Shapelets 分类
  • 三、基于区间特征的序列数据分类方法
    • 1.基于 BOPs 的序列数据分类方法
  • 总结


一、手工特征分类方法

基于手工特征的时域序列数据分类方法的基本思想是,通过特征提取将序列数据从原始空间映射到特征空间,得到序列数据的特征表示,再将特征表示输入支持向量机(Support Vector Machine, SVM)等分类器,实现类别划分。

根据所提取特征的不同,基于手工特征的序列数据分类方法可以划分为

  • 基于 Shapelets 的序列数据分类方法
  • 基于 区间特征 的序列数据分类方法。

SVM 的分类过程分为训练和测试两个阶段。

  • 训练阶段:通过对类别已知的序列数据提取特征,在特征空间中学习决策面。
  • 测试阶段:对待分类序列数据提取特征,根据其特征向量与决策面的位置关系,赋予类别标签。

二、基于 Shapelets 的序列数据分类方法

近邻算法有两个弱点

  1. 时间空间开销大;
  2. 可解释性差,具体来说就是不能告诉我们为什么一个特定的对象被分配给一个特定的类。

shapelets可以减轻这两个弱点。

基于 Shapelets的序列数据分类方法的核心思想是提取具有类别区分性的子序列

Shapelets 算法可以分为三部分,分别是

  • Shapelets 距离的计算
  • 候选 Shapelets 的生成与筛选和
  • Shapelets 分类。

算法在训练阶段需要确定 Shapelets 和对应的阈值

1.shapelets距离计算

由于Shapelets 的长度一般小于序列数据的长度,所以在 Shapelets 算法中,通常采用滑窗的方式求解 Shapelets 和序列数据之间的距离。

给定序列数据长度为N,和shapelets的长度为M。以M为滑窗长度对M长序列进行截取,一共能截取出(N-M)个子序列,并计算这些子序列和shapelets的距离,取其中最小值,即作为此长度为 N 的序列数据 X 和长度为 M(M < N) 的 Shapelets二者之间距离。

2.候选shapelets生成与筛选

根据生成方式的不同,可以将候选 Shapelets 的生成方法归为两类。一类称为
直接提取法,另一类称为学习法

1)直接提取法

是指从序列数据中提取子序列作为候选 Shapelets。

由于子序列的数量与序列数据的长度和个数成正比,将所有子序列遍历一遍所需的时间复杂度较高,为了减小 Shapelets 的搜索空间,通常会预先设定候选 Shapelets 的最大长度和最小长度。

除此之外,还会采用子序列距离提前终止技术熵剪枝技术对获选 Shaplets 进行筛选以减少计算量。

快速 Shapelets(Fast Shapelets, FS)搜索方法在以上策略的基础上,引入 SAX 模型中的字符表示方法,采用随机掩码进一步提高搜索效率,搜索速度相比之前提高了三个数量级。

由于 FS 寻找是近似最优解,因此相比于原始的 Shapelets 方法,在分类精度上有所降低。

2)学习法

学习法通过随机初始化或者 K 均值初始化,生成初始 Shapelets.

借助神经网络,采用随机梯度下降法最小化交叉熵损失函数,迭代更新Shapelets。

计算复杂度比直接提取法更小,同时能够生成训练集中不存在的子序列。

3.Shapelets 分类

传统基于 Shapelets 的序列数据分类方法将 Shapelets 的提取与筛选合并到决策树的构建过程中,方法本身的分类精度受限于决策树的性能。

Shapelets 变换(Shapelets Transform, ST) 采用 F 统计量从候选 Shapelets 集合中挑选出 K个最有效的 Shapelets,通过计算序列数据与各个 Shapelets 间的距离,将序列数据变换到 Shapelets 特征空间,再在特征空间中训练分类器。

由于 Shapelets 的提取筛选与分类器的选取无关,因此挑选拟合性能更强的分类器可以进一步提升序列数据的分类精度。


三、基于区间特征的序列数据分类方法

基于区间特征的序列数据分类方法根据区间特征的不同,可以细分为基于模式袋模型(Bag of Patterns, BoPs) 的序列数据分类方法和基于统计量的序列数据分类方法。

1.基于 BOPs 的序列数据分类方法

BOPs 方法来源于经典的词袋模型(Bag of Words, BoWs)

BoPs 方法的核心思想在于,通过滑窗截取将子序列转化为字符串表示,用字符串的统计直方图表征整个序列数据对于噪声、数据缺失等情况具有较好的鲁棒性。

包括滑窗截取、量化和直方图构建三部分。

BoPs 方法首先通过滑窗截取子序列,然后通过不同的量化方法将子序列转化为字符串,最后将滑窗遍历整个序列数据,统计各种字符串出现的频数,构建字符串直方图,最后将字符串直方图输入分类器,得到分类结果。

目前已提出的 BOPs 方法有:

  • 基于符号聚合近似(Piecewise Aggregate approximation, PAA)表示的 SAX 模型
  • 基于符号傅里叶近似(Symbolic Fourier Approximation, SFA[40])表示的符号傅里叶近似模式袋(Bags-of-SFA-Symbols, BOSS)模型
  • 序列数据单词提取(Word ExtrAction fortime SEries CLassification,WEASEL)模型

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(分类,支持向量机)