DTW-动态时间规整

    Hurray 1371次浏览 0条评论 420字

#算法

动态时间规整算法,故名思议,就是把两个代表同一个类型的事物的不同长度序列进行时间上的“对齐”。比如DTW最常用的地方,语音识别中,同一个字母,由不同人发音,长短肯定不一样,把声音记录下来以后,它的信号肯定是很相似的,只是在时间上不太对整齐而已。所以我们需要用一个函数拉长或者缩短其中一个信号,使得它们之间的误差达到最小。 ![](https://file.hurray0.com/uploads/menu/82/01ca13d2014e5cc0237c84a16d1911cf.png) 算法: 1. 算出两序列A、B的二维欧氏距离矩阵M。 2. 动态规划算出最小累计距离矩阵N。(min(上、左上、左)+val){找路径满足:假如当前节点是M(ai,bj),那么下一个节点必须是在M(i+1,j),M(i,j+1),M(i+1,j+1)之间选择,并且路径必须是最短的。} 3. 按照回溯法输出路径,从N(a1,b1)到N(am,bn)。他们的总和就是就是所需要的DTW距离 ![](https://file.hurray0.com/uploads/menu/82/f242396d9957e64fea94e2028472d9fe.png) 引用: [维基百科](https://en.wikipedia.org/wiki/Dynamic_time_warping) [https://blog.csdn.net/zb1165048017/article/details/49226315](https://blog.csdn.net/zb1165048017/article/details/49226315)

最后修改: