DTW(Dynamic Time Warping)算法

变量定义

1.warping function
F = c ( 1 ) , c ( 2 ) . . . c ( k ) . . . c ( K ) F=c(1),c(2)...c(k)...c(K) F=c(1),c(2)...c(k)...c(K)
其中 c ( k ) = ( i ( k ) , j ( k ) ) c(k)=(i(k),j(k)) c(k)=(i(k),j(k))
表示两个语音特征序列A和B之间的映射关系。
2.time-normalized distance
D ( A , B ) = M i n F [ ∑ k = 1 K d ( c ( k ) ) ⋅ w ( k ) ∑ k = 1 K w ( k ) ] D(A,B)=Min_F[\frac{\sum_{k=1}^K d(c(k))\cdot w(k)}{\sum_{k=1}^K w(k)}] D(A,B)=MinF[k=1Kw(k)k=1Kd(c(k))w(k)]
其中 ∑ w ( k ) \sum w(k) w(k)用来归一化不同路径的K大小不一致的问题, d ( ) d() d()表示两个特征向量之间的距离。

warping function的限制条件

这里写图片描述
1.单调性
i ( k − 1 ) ≤ i ( k )   a n d   j ( k − 1 ) ≤ j ( k ) i(k-1)\le i(k)\ and\ j(k-1) \le j(k) i(k1)i(k) and j(k1)j(k)
2.连续性
i ( k ) − i ( k − 1 ) ≤ 1   a n d   j ( k ) − j ( k − 1 ) ≤ 1 i(k)-i(k-1) \le 1 \ and\ j(k)-j(k-1)\le 1 i(k)i(k1)1 and j(k)j(k1)1
由以上两个条件限制了只能向三个方向移动,向上/向右/向右上,而且每次只能移动一步
3.边界条件
i ( 1 ) = 1 , j ( 1 ) = 1   a n d   i ( K ) = I , j ( K ) = J i(1)=1, j(1)=1\ and\ i(K)=I,j(K)=J i(1)=1,j(1)=1 and i(K)=I,j(K)=J
4.窗口限制
∣ i ( k ) − j ( k ) ∣ ≤ r |i(k)-j(k)|\le r i(k)j(k)r
加窗为了将对齐路径限制在对角线附近。
5.斜率限制
P = n / m P=n/m P=n/m
避免在横轴i方向或纵轴j方向走的太偏,当在一个方向走了m步以后,需要在对角线方向走n步。

权重系数w

有两种典型的计算方式
1.对称形式
w ( k ) = ( i ( k ) − i ( k − 1 ) ) + ( j ( k ) − j ( k − 1 ) ) w(k)=(i(k)-i(k-1))+(j(k)-j(k-1)) w(k)=(i(k)i(k1))+(j(k)j(k1))
N = ∑ k = 1 K w ( k ) = I + J N=\sum_{k=1}^K w(k)=I+J N=k=1Kw(k)=I+J
2.非对称形式
w ( k ) = ( i ( k ) − i ( k − 1 ) ) w(k)=(i(k)-i(k-1)) w(k)=(i(k)i(k1))
N = ∑ k = 1 K w ( k ) = I N=\sum_{k=1}^K w(k)=I N=k=1Kw(k)=I
在j方向也一样。
对称形式的效果更好。

DP求解

假设使用对称形式的权重系数,不使用斜率限制

  • 初始条件
    g ( 1 , 1 ) = 2 d ( 1 , 1 ) g(1,1)=2d(1,1) g(1,1)=2d(1,1)
  • DP
    g ( i , j ) = m i n [ g ( i , j − 1 ) + d ( i , j ) ,   g ( i − 1 , j − 1 ) + 2 d ( i , j ) ,   g ( i − 1 , j ) + d ( i , j ) ] g(i,j)=min[g(i,j-1)+d(i,j),\ g(i-1,j-1)+2d(i,j),\ g(i-1,j)+d(i,j)] g(i,j)=min[g(i,j1)+d(i,j) g(i1,j1)+2d(i,j) g(i1,j)+d(i,j)]
    其中窗口限制条件 j − r ≤ i ≤ j + r j-r\le i\le j+r jrij+r
  • 距离
    D ( A , B ) = 1 I + J g ( I , J ) D(A,B)=\frac{1}{I+J}g(I,J) D(A,B)=I+J1g(I,J)

算法流程图如下:
这里写图片描述

Reference

Dynamic Programming Algorithm Optimization for Spoken Word Recognition

后面的技术分享转移到微信公众号上面更新了,【欢迎扫码关注交流】

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值