结尾匹配_DTW优化:使用DTW实现万亿级别序列匹配「文献阅读笔记」

本文深入探讨了动态时间规整(DTW)算法在序列匹配中的优化策略,包括平方距离代替平方根距离、Lower Bounding算法、Early Abandoning策略、Reordering Early Abandoning以及Cascading Lower Bounds等,旨在提升DTW在大规模数据中的效率和性能。
摘要由CSDN通过智能技术生成

cb191dc077f1168505ad0f5e486a3c9b.png

DTW(Dynamic Time Warping) 是一种序列匹配和序列距离计算的经典算法。DTW的适用范围极其广泛, 语音识别,搜索引擎,基因组数据分析等都有DTW的身影。 自从1994年DTW算法最先被报道出来以来, 各种围绕DTW的性能和准确性优化层出不穷。 本文将对一个2012年发表的DTW性能优化算法进行解读,介绍DTW的性能优化过程。

参考文献

Searching and Mining Trillions of Time Series Subsequences under Dynamic Time Warping Thanawin​dl.acm.org

一、DTW算法回顾

DTW出现之前对于序列相似度测测量主要基于ED(Euclidean Distance)但是ED距离对于序列来说会有很多问题,比如每一个时间步不能很好对齐, 或者序列长短不一等等。 DTW出现以后在很多场景逐步取代ED的位置, 但DTW有一个很大的缺陷,就是算的慢算法复杂度位

而ED只有
。 随后的一系列研究成果都是围绕如何加快DTW的速度展开,比如寻找更好的 LB(low bound), 创建更好的 index 简化计算, 使用部分计算代替全部计算的 early abandon 方法等等。 这些都会在后文中详细说明。 不过在这之前先回顾一下到底什么是DTW算法。

简单对比一下ED和DTW算法, 示意图如下:

31bc725703d454404eaa5b7d5585ccde.png

左边是ED算法, 只能解决时间步万全匹配的距离计算。

右面是DTW算法, 可以存在时间步骤之间多对一的情况。 很显然对于复杂序列,DTW更靠谱。

DTW算法定义如下,假设我们有两条序列 Q(query)和 C (candidates), 分别长度为

,他们不一定相等。

为了比对Q和C,组成一个n by m的矩阵, 每两个对齐后的元素之间的距离下标定义为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值