[Sequence Alignment Methods] Dynamic time warping (DTW)

本系列介绍几种序列对齐方法,包括Dynamic time warping (DTW),Smith–Waterman algorithm,Cross-recurrence plot

Dynamic time warping (DTW) is a well-known technique to find an optimal alignment between two given (time-dependent) sequences under certain restrictions.       

——Meinard Muller的《Information Retrieval for Music and Motion》

DTW路径的定义:用p = (p1, p2, ..., pL),来表示,需要满足以下三个条件:

  (i) 边界条件:p1 = (1,1) 和 pL = (N,M)

  (ii) 单调条件:n1 ≤ n2 ≤ ... ≤ nL 以及 m1 ≤ m2 ≤ ... ≤ mL

  (iii) 跨步大小:p(l+1) - pl属于{(1,0),(0,1),(1,1)} for l属于[1:L-1]

DTW的目标函数:将c(x,y)定义为对齐x, y两点的损失函数,总的损失函数则是从p1到pL每个点对的损失函数之和,DTW路径的目标就是使总的损失函数最小的路径。

DTW的动态规划:D(n,m) = min{D(n-1,m-1), D(n-1,m), D(n,m-1)} + c(xn,yn),对于传统DTW,可以看到时间复杂度为O(MN)

DTW的变种:

  跨步变种1:原跨步大小导致每一步的斜率范围为0到正无穷,可能会引起路径退化,故修改为{(2,1),(1,2),(1,1)},这样斜率范围就变成0.5到2了。此时状态转移方程变为D(n,m) = min{D(n-1,m-1), D(n-2,m-1), D(n-1,m-2)} + c(xn,yn)

  跨步变种2:变种1会引入新的问题,即会直接忽略两个序列的某些点,故可采用状态转移方程D(n,m) = min{D(n-1,m-1), D(n-2,m-1) + c(xn-1, ym), D(n-1,m-2) + c(xn,  ym-1)} + c(xn,yn)

  损失函数权值变种:(1,0),(0,1),(1,1)三个跨步对应不同的权值,如在状态转移时,损失函数分别乘以权值(1,1,2)

  Global Constraints:全局限制,目的是使得最优路径在某个限制的区间内。两个著名的全局限制区域为Sakoe-Chiba band和Itakura parallelogram。这种方法使得时间复杂度也大幅度减小。问题在于会丢掉稍微超出限制的区间的最优路径。

  近似估计:只是为了降低计算复杂度。通过降采样,低通滤波,分段平滑函数等,降低O(MN)中M和N的大小

  Multiscale DTW:综合Global Constraints和近似估计的方法,先通过低分辨率下的最优路径;在得到的靠近最优路径范围内增大分辨率,找到较高分别率在的最优路径;循环迭代操作

DTW的问题:在于它是将整个序列进行warping,并不符合很多实际需求

Subsequence DTW:(a*, b*) = argmin(DTW(X, Y(a: b))), (a, b): 1 ≤ a ≤ b ≤ M.找到损失值最小的匹配对

结论:在实际大规模检索中,大多数方法采取的策略是首先提取粗粒度的数据表征时间序列,检索出候选文档,然后进行细粒度的rank

时间: 2024-10-24 18:45:35

[Sequence Alignment Methods] Dynamic time warping (DTW)的相关文章

动态时间归整/规整/弯曲(Dynamic time warping,DTW)

动态时间规整DTW 在日常的生活中我们最经常使用的距离毫无疑问应该是欧式距离,但是对于一些特殊情况,欧氏距离存在着其很明显的缺陷,比如说时间序列,举个比较简单的例子,序列A:1,1,1,10,2,3,序列B:1,1,1,2,10,3,如果用欧氏距离,也就是distance[i][j]=(b[j]-a[i])*(b[j]-a[i])来计算的话,总的距离和应该是128,应该说这个距离是非常大的,而实际上这个序列的图像是十分相似的,这种情况下就有人开始考虑寻找新的时间序列距离的计算方法,然后提出了DT

[Sequence Alignment Methods] Cross-Recurrent Plot (CRP)

A recurrence plot (RP) is a straightforward way to visualize characteristics of similar system states attained at different times (Eckmann et al., 1987).  ,即RP可识别在时间上伸缩的状态对.Cross-Recurrent Plot,形成一个二维坐标轴,坐标系里的黑色代表相似的状态对,实际上在这个坐标系里,大部分的点都不是黑色的.在对角线上的路

[Sequence Alignment Methods] Smith–Waterman algorithm

Smith–Waterman algorithm 首先需要澄清一个事实,Smith–Waterman algorithm是求两个序列的最佳subsequence匹配,与之对应的算法但是求两个序列整体匹配的算法是Needleman-Wusch algorithm,即 Smith–Waterman algorithm:Local Needleman-Wusch algorithm: Global Needleman-Wusch algorithm与longest common subsequence

2018.3.5-6 knapsack problem, sequence alignment and optimal binary search trees

这周继续dynamic programming,这三个算法都是dynamic programming的. knapsack problem有一种greedy的解法,虽然简单但是不保证正确,这里光头哥讲的是dynamic的解法.其实和上次那个max weight independent set的算法差不多,同样是每个物件都判断一遍有这个物件和没这个物件两种情况,用bottom-up的方法来解,然后得到一个最大的value值,这时因为没有得到具体的选择方案,所以最后还需要一部重构的步骤得到具体方案.

[转]Sequence of methods in form and table in AX

转自:http://axvuongbao.blogspot.jp/2013/09/sequence-of-methods-in-form-and-table.html Form: Sequence of Methods calls while opening the Form Form — init () Form — Datasource — init () Form — run () Form — Datasource — execute Query () Form — Datasource

AX 2012 Sequence of methods in form and table in AX

Form: Sequence of Methods calls while opening the Form Form - init () Form - Datasource - init () Form - run () Form - Datasource - execute Query () Form - Datasource - active () Sequence of Methods calls while closing the Form Form - canClose () For

[Stanford Algorithms: Design and Analysis, Part 2] c28 Sequence Alignment Optimal Substructure

原文地址:https://www.cnblogs.com/ecoflex/p/10658398.html

算法笔记-DTW动态时间规整

算法笔记-DTW动态时间规整 简介 简单的例子 定义 讨论 约束条件 步模式 标准化 点与点的距离函数 具体应用场景 分类 点到点匹配 算法笔记-DTW动态时间规整 动态时间规整/规划(Dynamic Time Warping, DTW)是一个比较老的算法,大概在1970年左右被提出来,最早用于处理语音方面识别分类的问题. 1.简介 简单来说,给定两个离散的序列(实际上不一定要与时间有关),DTW能够衡量这两个序列的相似程度,或者说两个序列的距离.同时DTW能够对两个序列的延展或者压缩能够有一定

动态时间规整算法

http://www.cnblogs.com/luxiaoxun/archive/2013/05/09/3069036.html Dynamic Time Warping(DTW)是一种衡量两个时间序列之间的相似度的方法,主要应用在语音识别领域来识别两段语音是否表示同一个单词. 1. DTW方法原理 在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同.而且同一个单词内的不同音素的发音速度也不同,比如有的人会把“A”这个音拖得很长,或者把“i”发的很