dynamic time warping(动态时间规整)--学习笔记

  1. DTW可以计算两个时间序列的相似度,尤其适用于不同长度、不同节奏的时间序列(比如不同的人读同一个词的音频序列)。DTW将自动warping扭曲 时间序列(即在时间轴上进行局部的缩放),使得两个序列的形态尽可能的一致,得到最大可能的相似度。
  2. DTW采用了动态规划DP(dynamic programming)的方法来进行时间规整的计算,可以说,动态规划方法在时间规整问题上的应用就是DTW。
  3. Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法。应用也比较广,主要是在模板匹配中,比如说用在孤立词语音识别(识别两段语音是否表示同一个单词),手势识别,数据挖掘和信息检索等中。
  4. DTW通过把时间序列进行延伸和缩短,来计算两个时间序列性之间的相似性。
  5. 采用两个序列中每一对“点”之间的距离来计算形似度
  6. warping有一定要求,每个点都必须用到,不可跳过,要按照原始的次序,点对不可交叉。即要满足边界条件、连续性、单调性。
  7. 将两个序列对齐,最简单的方法就是线性缩放,但容易失真,所以转为使用动态规划
  8. 动态规划:需要构造一个n x m的矩阵网格,矩阵元素(i, j)表示qi和cj两个点的距离d(qi, cj)(也就是序列Q的每一个点和C的每一个点之间的相似度,距离越小则相似度越高。这里先不管顺序),一般采用欧式距离,d(qi,cj)= (qi-cj)2(也可以理解为失真度)。每一个矩阵元素(i, j)表示点qi和cj的对齐。DP算法可以归结为寻找一条通过此网格中若干格点的路径,路径通过的格点即为两个序列进行计算的对齐的点。(wsy:实际就是最小编辑距离算法)

猜你喜欢

转载自blog.csdn.net/weixin_45647721/article/details/127309582