DTW,关于C[0,0]

问题描述

我在这里阅读了 DTW 计算的功能: https://tslearn.readthedocs.io/en/stable/user_guide/dtw.html

在我看来,以下两行之一有问题:

C[0,0] = 0.
dist = d(x_i,y_j) ** 2

或者对于 [0] 和 [1] 上的简单 dtw,您将不会有 1 作为答案。所以两种可能的更正:

C[0,0] = d(x_0,y_0) ** 2

dist = d(x_{i-1},y_{j-1}) ** 2

如果我们想推广它,我认为这是第二种解决方案。

解决方法

文本指定伪代码假定时间索引从 1 开始, 事实上,主循环从 1 开始。 因此,import SwiftUI import RealityKit struct ContentView : View { @State private var isWalkthroughViewShowing = true @State private var showInfo: Bool = false var body: some View { Group{ if isWalkthroughViewShowing{ WalkthroughView(isWalkthroughViewShowing: $isWalkthroughViewShowing) } else { ARViewContainer().edgesIgnoringSafeArea(.all) ControlView(showInfo: $showInfo) } } } } 初始化是正确的。 成本矩阵的第一个单元格将如下所示:

C[0,0] = 0

并且当对 0 | inf | ... inf | inf | ... ... i = 1 评估以下行时

j = 1

C[i,j] = dist + min(C[i-1,j],C[i,j-1],C[i-1,j-1]) 函数将简单地返回零, 和 min 将简单地具有第一次计算的值, 即C[1,1]

这是一种常见的DTW实现方式, 这也是它在 Wikipedia 上的描述方式。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...