基于时域表示的序列数据分类方法(一)——基于距离度量的序列数据分类方法

基于传统机器学习的序列数据分类算法主要分为两个步骤,

  • 第一步是特征提取
  • 第二步是利用分类器在特征空间中划分决策边界,判别序列数据的类别

文章目录

  • 基于时域表示的序列数据分类方法(一)——基于距离度量的序列数据分类方法
  • 前言
  • KNN分类器
  • 一、欧氏距离
  • 二、DTW度量
  • 三、加窗DTW度量-WCDTW
  • 四、加权DTW-WDTW度量
  • 五、LB距离法
  • 六、DBA度量
  • 七、DTW度量特征+现代分类器
    • 1、GDTW-P-SVMs
    • 2、LBF-SVMs
    • 3、PS-AdaBoost
  • 八、集成多种弹性距离度量的分类方法
    • 1、EE
    • 2、Proximity Forest
  • 九、编辑距离度量(edit distance, ED)
    • 1、LCSS 度量
    • 2、EDR 度量
    • 3、ERP 度量
    • 4、MSM度量
    • 5、其他弹性匹配度量方法

前言

基本思想是通过构建距离度量,衡量待分类序列数据与已知类别序列数据在时域表示空间上的距离。此方法的核心是如何构建一个合适的距离度量。根据不同的匹配方式,还可以分为 锁步度量弹性匹配度量

锁步度量中最常使用的是欧氏距离。
弹性匹配度量则常用动态时间规整(DTW–Dynamic Time Warping)和编辑距离。


KNN分类器

邻近算法,或者说K最邻近(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一,也是最简单的机器学习算法之一。

KNN算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。(大样本分类)

总体来说,KNN分类算法包括以下4个步骤:

  • ①准备数据,对数据进行预处理 。

  • ②计算测试样本点(也就是待分类点)到其他每个样本点的距离 。

  • ③对每个距离进行排序,然后选择出距离最小的K个点

  • ④对K个点所属的类别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类


一、欧氏距离

“锁步”度量的代表
锁步”的距离度量:两条序列需要在时刻点上一一对应。对序列数据在时间维度上的扭曲、平移和幅度上的噪声、缩放非常敏感(效果差 or 压根处理不了)

对于n维的序列数据,计算其中两点X=(x1,x2,x3,)、Y=(y1,y2,y3,)的欧氏距离为

欧式距离计算复杂度低、时效好。

但是序列数据在实际应用中截断和采样率的差异无法保证具有相同长度。

因此对于长短不同的待测序列与模板序列、或者序列对应点在时刻上存在偏移时,无法有效计算欧氏距离。


二、DTW度量

弹性距离度量方法
该类方法在计算距离时不再要求两序列在时刻点上一一对应,适应序列数据在形状上的扭曲和缩放,克服了基于
锁步距离度量的分类方法的缺陷。

DTW 度量利用动态规划优化目标函数,考虑了序列数据 X 和 Y 在不同时刻 i 和 j 的距离,可以实现一对多的匹配,能处理序列数据之间的时刻偏移现象。

算法负责度大,需要依靠动态规划方法求解目标函数。且对序列的匹配路径没有额外约束,可能出现病态匹配——时间轴上相距很远的两个点也可能被匹配。

为抑制这种病态的、没有时间间隔约束的匹配情况,在DTW基础上进行改进,可以划分为基于加窗DTW度量加权DTW度量

除此以外,DTW度量的计算复杂度较高,每一次DTW的计算是 O(N^2 ) 的复杂度,而在搜索时间序列的时候需要进行M(M是被搜索的时间序列的长度)次的搜索,因此总的复杂度是 O(M*N^2) ,当时间序列很长的时候(M值很大)。

这个等待时间是非常可怕的。算法应用因此受到限制,为降低DTW度量的计算复杂度,提出了一些改进方法,包括:加窗法、下界距离法(Lower Bounding, LB)DTW质心平均法(DTW Barycenter Averaging,DBA)


三、加窗DTW度量-WCDTW

弹性距离度量方法

加 窗DTW (window constrained DTW, WCDTW)
在原始DTW基础上引入约束窗的方式,减少匹配点对的搜索范围,可分为线性约束窗口和非线性约束窗口。


约束窗的存在让序列匹配点只能在窗的范围内进行。

约束窗的宽度越小,WCDTW 度量中匹配点对在时间轴上所允许的间隔就越小。

WCDTW依靠上述原理规避病态匹配,同时加窗截断了匹配计算路径,也就减少了距离计算量。


四、加权DTW-WDTW度量

弹性距离度量方法

加权 DTW(weighted DTW, WDTW)
WCDTW 加窗DTW度量只考虑了窗内匹配,直接舍弃了约束窗外点对的距离计算。WDTW认为WCDTW这种截断匹配路径的做法拒绝了个例情况。从而提出了更平滑的匹配路径约束思路。

WDTW度量保留了所有点对间的距离计算,并根据点对距离赋予加权值:

  • 时间距离较远的匹配点对设置大权值 最终距离值更大 更易被淘汰
  • 时间距离较近的匹配点对设置小权值 最终距离值更小 更易被选中

权值公式如下:


a是时间距离, wmax通常设为1, m为序列总长度, g控制扭曲的惩罚等级。

WDTW 度量可以被看作是一种软阈值的 DTW 度量。并没有减少匹配计算量。


五、LB距离法

LB_keogh包括两部分。

第一部分为Q的{U, L} 包络曲线(具体如图), 给Q序列的每个时间步定义上下界。

U和L直观的理解是在原始序列的周围包装另一个“封套”。

第二部分:计算Q和C之间的LB_keogh实际上等效于下图的阴影部分的面积:


此过程即在计算待匹配序列与模板序列上下边界的距离,得到 LB-Keogh下界距离。

DTW(X,Y)>=LB-Keogh下界距离。

我们开始对序列Q进行匹配,先计算好一次DTW距离,存在一个叫“best-so-far”的变量里,表示目前为止最好(最小)的DTW距离,在后面的计算中,我们使用一种叫Lower Bounding(LB)的计算,并且这种计算一定满足Lower Bounding距离 < DTW距离,而且这种Lower

Bounding的复杂度是远低于DTW距离的(通常复杂度是 )。这样如果在当前的匹配计算中发现Lower
Bounding已经大于当前的"best-so-far"距离,就可以立即排除,当前的计算不可能是最优的匹配。

LB-Keogh 距离的分类方法可以将原始 DTW 度量的计算复杂度由 O(n^2) 降低至O(n),而不明显损失分类精度

六、DBA度量

DBA 将 K 均值聚类算法中的欧氏距离替换为 DTW 距离,从而增强算法对形
状动态扭曲的适应能力,并使用著名的动态质心平均技术[23] 寻找每个类的质心。
在测试时,待匹配序列只需与这些“原型序列”进行比对,从而大大降低算法的
计算复杂度。

该方法应用著名的动态质心平均技术寻找每个类的质心,这一技术将 K-means 聚
类算法中的欧氏距离替换为 DTW 距离,从而增强算法对形状动态扭曲的适应能力,此外, DBA也在类内求取多个质心以适应类内差异。

待更】


七、DTW度量特征+现代分类器

DTW 度量最简单的 KNN 分类器的组合一直很难被击败。随着对 DTW 度量的改进逐渐遇到瓶颈,一个自然的思路是,利用 DTW 度量提取特征,并使用更先进的分类器替换 KNN 分类器

典型的改进工作包括:

  • 基于高斯动态扭曲核 SVMs 的分类方法 (potential support vector machines with Gaussian dynamic time warping kernel, GDTW-P-SVMs)[28]、
  • 基于 DTW下界距离特征的分类方法(DTW’s fast lower bound function feature classificationusing enhanced SVMs, LBFSVMs)
  • 基于 AdaBoost 分类器的分类方法(prototypeselection with AdaBoost, PSAdaBoost)

1、GDTW-P-SVMs

使用SVM分类模型代替KNN(1nn)分类

GDTW-P-SVMs 最早尝试将 DTW 特征与更先进的分类器相结合;

该方法使用 DTW 度量替代高斯核 SVMs 核函数中的欧氏距离度量,然后训练多个二分类 SVM 分类器将多分类问题转化为多个二分类问题,最后通过投票融合各 SVM分类器的预测结果;

GDTW-P-SVMs 虽然保留了DTW 度量适应形状扭曲的优势和 SVMs 的出色分类性能,但该方法受限于 DTW 的计算复杂度而展现出高时间成本

支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;

SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

参考:svm分类器_SVM算法

通俗来讲,SVM是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。

2、LBF-SVMs

在GDTW-P-SVMs基础上, 使用LB下界算法改进DWT距离算法,降低计算复杂度

方法采用前文提到的 LB_Keogh 快速下界距离替代 GDTW-P-SVMs 使用的 DTW 距离构建分类特征;这种做法虽然导致分类准确率略有下降,但却极大地加速了训练和测试过程。

3、PS-AdaBoost

使用Adaboost 分类器代替KNN分类

PS-AdaBoost 引入了 Adaboost 分类器进行分类;

该方法在 DTW 特征的每一维均建立带权值的弱分类器,并通过训练优化每个分类器的权值, 从而实现对分类器和各特征维度的筛选;

通过去除信息冗余, PS-AdaBoost 的分类效果和计算速度得到了提升。

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

算法原理:

(1)初始化训练数据(每个样本)的权值分布:如果有N个样本,则每一个训练的样本点最开始时都被赋予相同的权重:1/N。

(2)训练弱分类器。具体训练过程中,如果某个样本已经被准确地分类,那么在构造下一个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。同时,得到弱分类器对应的话语权。然后,更新权值后的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。

(3)将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,分类误差率小的弱分类器的话语权较大,其在最终的分类函数中起着较大的决定作用,而分类误差率大的弱分类器的话语权较小,其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的比例较大,反之较小。

参考:adaboost分类器


八、集成多种弹性距离度量的分类方法

目前,TSC 领域涌现出了数目众多的弹性距离度量方法,但没有任何一种方法在分类精度和通用性两方面同时展现出明显优势。

因此,一些工作考虑集成多种弹性距离度量从而提升分类性能和泛化能力。

典型工作包括:

  • 基于多种弹性距离度量集成的分类方法(ensembles ofelastic distance measures, EE)
  • 以及基于接近森林的分类方法 Proximity Forest

1、EE

EE 借助 1NN 分类器对包括 LCSS、 MSM、DTW 和 WDTW 等在内的 11 种常用的弹性距离度量开展了广泛的实验对比

EE发现这些距离度量在分类精度上并没有显著差异,且各自适用于不同的分类问题,因此,EE对这11 种方法进行决策层的加权融合

虽然 EE 利用了诸多距离度量的互补性,但也带来了极大的计算量。

2、Proximity Forest

首先在分类树的每个节点构建 R 种分支策略,每种分支策略包含从 EE中随机选取的一种弹性距离度量以及从各类别中随机选取的序列数据原型,然后寻找每个节点
对应的最佳分支策略从而递归地生成分类树以及分类森林;

Proximity Forest 明显提升了 EE 的分类性能,加快了 EE 的运算速度,是目前性能最好的序列数据分类方法之一。


九、编辑距离度量(edit distance, ED)

编辑距离与 DTW 度量一样,也是为了处理不等长序列数据和时刻偏移而提
出的。

该类方法将字符串弹性匹配的思想引入序列数据分类,通过定义类似字符串匹配的操作进行相似性度量。主要的度量方法包括:

  • 最长公共子序列距离度量 (Longest Common Subsequence, LCSS)
  • 基 于 实 序 列 的 编 辑 距 离 度 量 (EditDistance on Real Sequences, EDR)
  • 基于实惩罚 的 编 辑 距 离 度 量 (Edit Distance with RealPenalty, ERP)
  • 基于移动-分割-融合的编辑距离度量(MoveSplit-Merge, MSM)

这些方法具有很强的渐进关系

与 DTW 度量最大的不同之处在于,编辑距离允许存在未匹配点,这在一定程度上抑制了噪声的影响。

1、LCSS 度量

在序列分类问题中,该方法通过设置距离阈值 θ 判断待考察序列中的点是否与模
板序列中的点相匹配,被判定匹配的点无需在位置上一一对应,从而 “弹性”地搜索两条序列中最长公共子序列用于衡量两序列的相似度;

LCSS 度量量化了待考察序列与模板序列的共性,但未将两者之间的差异计入度量

2、EDR 度量

EDR度量改进了LCSS未将考察序列和模板序列之间的差异计入度量这一缺陷。

该方法参考了字符串匹配中编辑距离的思想,在设定匹配条件后,通过统计待考察序列通过替换、插入和删除三种操作完全匹配于模板序列所需的最少操作次数,从而得到序列间的距离;

EDR 度量同时考虑了两序列之间的共性和差异,但受到编辑距离的限制,无法量化点与点之间的距离,因此比较粗糙。

3、ERP 度量

对 EDR 度量进行了改进;

该方法不再统计转化操作次数,而是直接计算点对之间的欧氏距离,

当点对不匹配时,在待匹配点对应位置插入零值以示惩罚,最终累加转换后的两序列所有对应点之间的距离得到序列间的距离;

ERP 度量满足三角不等式,利用三角不等式可以大幅减少 ERP 度量的计算复杂度。

ERP 度量更加细致地量化了序列之间的距离,但零值惩罚的做法引入了较大的偏差。

4、MSM度量

MSM 是目前最先进的编辑距离度量;

该方法针对点对不匹配的情况进一步细化了惩罚方式,在待匹配点及其一近邻点中选取与模板点更近的点插入相应位置, 然后计算转换后的两序列之间的距离;

在 MSM 度量中,每种操作的代价不仅与当前目标点有关,还与目标点的相邻点有关。
MSM 度量的优点是对于时间弯曲敏感,对平移操作具有不变性;缺点在于计算复杂度较高,与 DTW 度量相当。

事实上,这种做法与DTW 度量已经非常接近。

5、其他弹性匹配度量方法

除了上述几种弹性匹配度量外,目前已提出的弹性匹配度量还包括:

  • 复杂度不变性距离(Complex Invariant Distance, CID)
  • 导数 DTW(Derivative DTW,DD_DTW)
  • 导数变换距离(Derivative Transform Distance, DTD_C)

CID在现有幅度不变性、偏置不变性、局部尺度不变性、全局尺度不变性、相位不变性和遮挡不变性的基础上,引入了复杂度不变性的概念。通过一阶差分提取序列数据的复杂度信息,将复杂度信息引入欧式距离度量,得到复杂度加权的欧式距离度量。

DD_DTW 通过一阶差分运算引入形状特征的比较,构造加权 DTW 度量对原始序列数据对和差分序列数据对之间的距离进行加权平均。

DTD_C 在形状特征比较的基础上更进一步,通过正弦变换、余弦变换和希尔伯特变换提取序列数据的高阶特征,构建了基于序列数据本身、序列数据的形状特征和高阶特征的加权 DTW 度量。

基于时域表示的序列数据分类方法(一)——基于距离度量的序列数据分类方法相关推荐

  1. 距离度量(Distance Metric)方法

    距离度量(Distance Metric)方法 文章目录 距离度量(Distance Metric)方法 1. 向量距离 ⚪ 欧几里得距离 Euclidean Distance ⭐ 计算两组向量的欧氏 ...

  2. OFDM 经典整偏估计方法(基于长训练序列)

    1.OFDM符号的产生 为了避免OFDM符号高频段有用子载波受到滤波等因素的干扰,需要将信号有用子载波在频域进行搬移,使得有用信号处于低频部分,搬移MatlabMatlabMatlab代码表示如下: ...

  3. NeuIPS | 蛋白设计新方法?基于图的蛋白生成模型

    今天给大家介绍的是麻省理工大学计算机科学和人工智能实验室在NeuIPS 2019会议上发表的一篇文章.在文中,作者提出了一种基于图结构的蛋白质序列生成模型,通过聚焦三维空间上相邻的蛋白质区域,在基于神 ...

  4. EMNLP 2020 | 基于Wasserstein距离的正则化序列表示

    ©PaperWeekly 原创 · 作者|金金 单位|阿里巴巴研究实习生 研究方向|推荐系统 论文标题: Wasserstein Distance Regularized Sequence Repre ...

  5. 双目估计方法_基于双目视觉的自动驾驶技术

    不小心删掉的文章,要求补上了.其实双目视觉主要问题是立体匹配和视差计算,最新的讨论见: 黄浴:基于深度学习的双目匹配和视差估计​zhuanlan.zhihu.com 另外,目标检测的双目视觉技术讨论如 ...

  6. 基于运动特征的视频质量评价方法(基于H.264)

    Michal Ries等人在论文<Motion Based Reference-Free Quality Estimation for H.264/AVC Video Streaming> ...

  7. upfst是什么函数C语言,一种基于KF和STUPF组合滤波的SINS大方位失准角初始对准方法技术...

    本发明专利技术公开了一种基于KF和STUPF组合滤波的SINS大方位失准角初始对准方法,将大失准角下非线性初始对准滤波模型分解为线性与非线性两部分,建立了线性滤波模型离散化的状态方程和量测方程,采用卡 ...

  8. 图像分割方法分享 | 基于优选集成ConvNet的脑癌图像分割方法

    前言 略. 1 方 法 使用单个的神经网络进行图像分割的效果通常精度较低达不到预期,因此笔者对深度神经网络进行优选集成以适应脑肿瘤分割的任务.具体来说,提出了由2个网络组成的轻量级集成方法,每个网络都 ...

  9. 基于多源信息的深度卷积神经网络预测CircRNA疾病关联的有效方法

    An Efficient Approach based on Multi-sources Information to Predict CircRNA-disease Associations Usi ...

最新文章

  1. 逻辑运算符''取某值
  2. Collection、泛型
  3. python中random是什么意思_Python代码中的“importrandom”是什么意思?
  4. python 内存溢出能捕获吗,Python——写自己的异常(形成强大的捕捉和处理能力)...
  5. ubuntu 安装yar和使用
  6. mongodb 导出txt_(干货)前端实现导出excel的功能
  7. java 的io流需要学吗_Java的IO流之字节流,必须要学得内容,你会嘛?
  8. 淘宝大牛们——晒一晒淘宝网技术内幕
  9. 机器学习- 吴恩达Andrew Ng - week3-4 solve overfitting
  10. Linux内核安全模块学习-导言
  11. 基于STM32的简易交通灯设计
  12. web网站添加ico图标
  13. 使用jquery处理多选框checkbox选中和未选中的值
  14. Python从入门到数据分析第一篇—Python简介- Python介绍与初探
  15. ubuntu linux目录绿色高亮问题
  16. Caused by : java.lang.NoSuchMethodError
  17. Typescript基础知识--学习笔记
  18. html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)
  19. 批量安装系统工具cobbler配置
  20. C++ for循环效率优化

热门文章

  1. Openwrt编译进阶-修改ROOT密码,修改默认WiFi名称,修改主机名,修改主机型号
  2. 手机里竟然有这么多传感器!终于都搞懂了
  3. 为了拿到像素点,GetPixel的速度太慢,改用CreateDIBSection
  4. Hello World, Hello, 2021
  5. 将本地图片或者网上图片用post方式上传到图片服务器
  6. 【社区图书馆】《新程序员005:开源深度指南 新金融背后的科技力量》
  7. 网络拓扑中,什么是核心层?什么是汇聚层?
  8. TCPIP之IP协议及IP地址详解
  9. 14宽的键槽深度多少_平键和键槽的标准尺寸规格表
  10. 112、Flutter实现图片放大缩小的动画小