인공지능 공부

GDTW 읽어보기

DualQuaternion 2023. 8. 2. 10:16

https://github.com/dderiso/gdtw

 

GitHub - dderiso/gdtw: GDTW is a Python/C++ library that performs dynamic time warping. It is based on a paper by Dave Deriso an

GDTW is a Python/C++ library that performs dynamic time warping. It is based on a paper by Dave Deriso and Stephen Boyd. - GitHub - dderiso/gdtw: GDTW is a Python/C++ library that performs dynamic ...

github.com

 

DTW를 써야할 일이 있는데, 최근에 나온 논문이 있어서 읽어보고, 그 다음에 써보기로 했다. 주소는 위와 같다.

 

Abstract

 

dynamic timw warping의 목적은 시간의 변환을 통해서 두 시그널을 적절히 정렬시키는 것이다. 우리는 warping 함수의 선택을 목적으로 부터 추출한 여러 텀에 대한 최적화문제로 가정했다. 첫번째 텀은 타임워프된 시그널의 misalignment 측정값이다.  두개의 추가적인 정규화 텀이 누적된 워핑과 급격한 타임워핑에 패널티를 부여한다. 워핑 상의 제약은 무한대 값을 정규화 텀에 할당하는 것으로 부여할 수 있다. 세가지 목적 텀에 대한선택을 달리하면 다른 형태의 time warping function이 생기는데, 각각 시그널 핏 혹은 정렬, 그리고 워핑 펑션의 특성에서 트레이드오프가 있다. 우리가 정의한 최적화문제는 초기와 종료 시점의 제약이 부여되며, 1차원으로 기술되는 고전적인 최적 컨트롤 문제이다. 우리는 오리지널 값과 워프드 타임을 discretize해서 목적을 최소화하고, 일반적인 다이나믹 프로그래밍을 통해 discretized value의 최적 워핑 펑션을 계산하는 효율적이고 범용적인 방법에 대해 기술한다. Iterative refinement 는 단지 몇번이 반복만으로 워핑 펑션의 정확도를 높인다. 우리의 기법은 open source Python package인 GDTW로 구현되었다. 

 

이제 이걸 써보자.

https://dderiso.github.io/gdtw/

 

Webpack basic starter project

A simple webpack starter project for your basic web development needs.

lifenautjoe.github.io

 

아나콘다로 환경구성해주고, 

 

1. 설치

 어라 왜 pip 안되지;;;

 깃으로 설치한다...

 

pip install numpy

git clone https://www.github.com/dderiso/gdtw
cd gdtw
python setup.py install

 

셋업하는 과정에서 

요런 에러가 나서 빌드를 못했다.

 

문제를 해결하려는 시도 도중에 

https://github.com/dderiso/gdtw/issues/1

 

Support for multi-dimentional signals · Issue #1 · dderiso/gdtw

Hi, is there a way to extend GDTW to support multi-dimensional signals ?

github.com

위와 같이 multi-variable case에 잘 작동하지 않는다는 이야기가 확인되어 일단 보류...