【Matlab实现】动态时间规划调整算法(DTW算法)——计算两个序
【Matlab实现】动态时间规划调整算法(DTW算法)——计算两个序列之间的相似度
【Matlab实现】动态时间规划调整算法(DTW算法)——计算两个序列之间的相似度
概述
算法原理与步骤
算法的实现
概述
DTW (Dynamic time warping)算法是可以度量两个独立时间序列的相似度的一种方法。曾被广泛应用在单词音频的匹配上。该方法主要用来解决在两段序列的时长不同的情况下,进行相似度的判断。
上图中,左侧时长相等,可以逐一进行欧式距离的计算,右侧则是时长不等,经过DTW之后得到的结果,可以看出来两个序列并不是一一对应的。
再比如上面左图,要得到蓝色序列与红色序列的相似度,因为可以看出来两个序列有经过平移的迹象,直接用一一匹配的方法显然是不合理的。要得到左图的对应效果,就需要用DTW方法。
算法原理与步骤
① 计算两个特征点之间的欧氏距离。构成一个 n*m 矩阵,距离矩阵。
②计算累计距离 得到DP矩阵。
计算后的的值,放到DP矩阵中,为了更加直观的理解,把这两个序列绘图如下ÿ