dynamic time warping matlab,科学网—【科研速记】Dynamic time warping - 李冰的博文
DTW的作用
Dynamic time warping 简称DTW,用于计算两个时间序列之间的相似性的算法,也可以理解找到两个时间序列之间的最佳匹配。DTW最著名的用途应该是用于语音识别。
Figure 1
DTW为什么会出现呢?
在计算两个序列相似性时,传统的度量方法如欧式距离、曼哈顿距离都会失效,或者说无法真正度量两个序列相似性。其原因是,这些距离度量方式是用一一对应的距离度量。
Figure 2 欧式距离
那么有没有一种根据序列的走势来计算相似性呢,比如序列A上某个点可能和序列B上多个点进行匹配。DTW就可以达到这种效果,如下图:
Figure 3 DTW
DTW算法形式
int DTWDistance(s: array [1..n], t: array [1..m]) {
DTW := array [0..n, 0..m]
for i := 1 to n
DTW[i, 0] := infinity
for i := 1 to m
DTW[0, i] := infinity
DTW[0, 0] := 0
for i := 1 to n
for j := 1 to m
cost:= d(s[i], t[j])
DTW[i, j] := cost + minimum(DTW[i-1, j ], // insertion
DTW[i , j-1], // deletion
DTW[i-1, j-1]) // match
return DTW[n, m]
}
注意,
(1)这个问题是一个动态规划问题,并且算法中经典问题——求字符串匹配的编辑距离——类似。
(2)找两个序列的匹配路径,要从最末尾的dtw(n,m)往回找,而不是从dtw(1,1)往前搜。
Reference:
Distance Functions for Sequence Data and Time Series
https://en.wikipedia.org/wiki/Dynamic_time_warping
转载本文请联系原作者获取授权,同时请注明本文来自李冰科学网博客。
链接地址:http://blog.sciencenet.cn/blog-212252-701037.html
上一篇:小白鼠成长日记2013年0213——缺乏讨论导致科研进度慢
下一篇:小白鼠成长日记20130621——听南洋理工大学的Xu dong的讲座
dynamic time warping matlab,科学网—【科研速记】Dynamic time warping - 李冰的博文相关推荐
- 网易公开课 matlab,科学网—如何保存网页上看到的视频 - 杨建功的博文
平时遇到在网页上看到的视频非常好,想把它保存在本地电脑上,以供随时观看.而且这样也 不受网速影响,看着流畅.这里告诉你一个最方便的方法来保存这些视频: 1.首先打开IE浏览器观看这些视频,但注意画面下 ...
- matlab聚类算法,科学网—matlab-聚类算法笔记 - 孙月芳的博文
MATLAB提供了两种方法进行聚类分析: 1.利用clusterdata 函数对数据样本进行一次聚类,这个方法简洁方便,其特点是使用范围较窄,不能由用户根据自身需要来设定参数,更改距离计算方法: 2. ...
- 文本框赋值guide matlab,科学网-Matlab: 学习GUI (使用GUIDE时需注意的几个问题)-刘磊的博文...
在博文<Matlab:学习GUI(一个简单的例子)>(介绍的方法是完全用代码来建立一个GUI,实际上Matlab本身有一个设计GUI的交互系统--GUIDE,用户可以使用该系统更方便的建立 ...
- visio科学图形包_科学网—科研必备:几款好用的流程图工具,助力你的论文/科研绘图...
写SCI论文常常会遇到一个问题--如何才能让读者通俗易懂地理解自己的研究?如果不能让读者了解研究过程,读者会对研究结果是否合理.如何应用存在疑问:尤其是期刊编辑和审稿人如果不能通过咱们的叙述,清楚地了 ...
- matlab全景图素材,科学网—meshlab查看360度全景图像 - 王琳的博文
一. 常见的360o全景照片,图像长宽比例通常为2:1. 二 . 用matlab的sphere()函数计算球面mesh的Vertex坐标[x,y,z]以及纹理坐标[xt,yt] N = 100; [x ...
- 归并有效排序算法matlab,科学网—[用MATLAB写算法]之排序算法2)归并排序merge sort - 徐勇刚的博文...
归并排序(merge sort)是一种利用分治策略(divide and conquer)进行排序的算法,算法复杂度为 $\Theta (nlog_{2}n)$ . filename: merge_s ...
- 乐符识别matlab,科学网—[原][Matlab][04] Midi音乐键盘 - 王楠的博文
以前在网上读到一个用matlab播canon音乐的源码感觉很有意思,但声音还不够好. 于是想做个自己的音乐播放器,有键盘,有对应的钢琴声音,读取乐谱就能播.如下. (1)按键的音高与频率 从1到下一个 ...
- 音频剪切matlab,科学网—matlab的音频处理:读取,裁剪,输出和命名 - 张智昊的博文...
网易云下架了周杰伦的几乎所有歌曲,于是尝试下载一套周杰伦的音乐全集.从微盘上下载到的音乐前面有一段奇葩的广告,长约8秒.因为广告长度一样可以轻松的裁剪处理,于是想到可以用matlab写一个简单的小程序 ...
- 主成分回归预测matlab,科学网—Matlab: princomp() 主成分分析 - 杨建功的博文
Matlab 提供了进行主成分分析的函数 princomp().由于主成分分析(principile component analysis,PCA)这个概念在不同领域(统计学.数学等)的解释差异较大, ...
最新文章
- Modbus RTU 通信工具设计
- 【干货】超全!华为交换机端口vlan详解~
- Java多线程02(线程安全、线程同步、等待唤醒机制)
- javascript中打印对象显示[object object]_js如何打印object对象
- C++ open 打开文件
- [Linux] Ubuntu下的文件比较工具--meld
- 【英语学习】【Daily English】U12 E-World L01 Do you have Wi-Fi here?
- C++ Lambda表达式demo
- Python 2.5.7 高阶函数
- IT-游戏 学习资源思维导图(持续更新,欢迎关注点赞加评论)
- Python标准模块--multiprocessing
- 网站从无到有--个人(第一次)搭建。服务器环境搭建 对大家有帮助那就最好-第一次发...
- 0基础学java可行吗_上海0基础学JAVA可行吗?
- 渗透测试的种类(黑白盒)、脆弱性评估、OWASP Top 10、PTES-渗透测试执行标准
- Win10专业版系统Docker安装、配置和使用详细教程
- Axure 制作过滤筛选栏
- Python练习数据结构笔记
- 禁止苹果浏览器Safari将数字识别成电话号码的方法
- linux平台potplayer,Daum PotPlayer不安全库加载漏洞
- 【MySQL数据库开发之一】Mac下配置安装数据库-MySQL