Deformación dinámica del tiempo

From Wikipedia, the free encyclopedia

Dos repeticiones de una secuencia de marcha grabada con un sistema de captura de movimiento. Aunque hay diferencias en la velocidad de la marcha entre las repeticiones, las trayectorias espaciales de las extremidades siguen siendo muy similares.[1]

En análisis de series temporales, la deformación dinámica del tiempo (en inglés, Dynamic Time Warping, DTW) es un algoritmo para medir la similitud entre dos secuencias temporales que permite obtener un buen ajuste incluso frente a un desfase en la velocidad o en el tiempo. Se trata de un algoritmo de aprendizaje no supervisado, puesto que no necesita ayuda externa para realizar inferencias sobre los datos, aunque puede combinarse con otros métodos para realizar aprendizaje supervisado.[2] Aunque el nombre implica series temporales, puede usarse para todo tipo de datos, como reconocimiento facial,[3] firmas biométricas[4] e incluso clasificación de señales genómicas.[5] Conceptualmente, es similar al algoritmo Needleman-Wunsch, en tanto a que ambos realizan una matriz de disimilitud, con las distancias entre todos los miembros de una relación, como manera de calcular la distancia óptima entre los miembros de un grupo.[6]

Sobre una tabla que compara la distancia entre dos series de datos, unas flechas van iluminando el camino óptimo a seguir
Matriz de DTW y camino óptimo generado algorítmicamente

A diferencia del método euclídeo, que se basa en la comparación directa de cada punto de una serie con su equivalente en otra serie diferente, el DTW busca el "punto más cercano" entre cada punto de las dos series, permitiendo así discernir formas similares que pueden estar deformadas o desfasadas. Para ello, se genera una matriz de similitud, que compara las dos series y calcula las distancias entre todos los puntos de una y todos los puntos de la otra; y, sobre esa matriz, se selecciona el "camino más óptimo", es decir, la distancia más corta entre cada par de puntos. Para ello, sigue una serie de reglas:[7]

  • Cada elemento de la primera secuencia debe coincidir con uno o más elementos de la otra secuencia, y viceversa.
  • El primer elemento de la primera secuencia debe coincidir, al menos, con el primer elemento de la otra secuencia (pero no tiene que ser la única coincidencia)
  • El último elemento de la primera secuencia debe coincidir, al menos, con el último elemento de la otra secuencia (pero no tiene que ser la única coincidencia)
  • El mapeo de los elementos de la primera secuencia a los elementos de la otra secuencia debe ser monotónicamente creciente, y viceversa, es decir si son elementos de la primera secuencia, entonces no debe haber dos elementos en la otra secuencia, tales que el elemento coincida con el elemento y el elemento coincida con el elemento , y viceversa.

El camino óptimo será, entonces, la ruta que satisfaga todas estas restricciones minimizando el coste, siendo este la suma de las diferencias absolutas entre los valores de cada par de elementos coincidentes, lo que puede llevar a la deformación no lineal de las secuencias respecto al tiempo, de manera que estas nuevas secuencias "deformadas" sí que estarían euclidianamente alineadas.[8]

A diferencia de otros algoritmos, el DTW no genera nuevos elementos, sino que se limita a asociar los elementos existentes entre sí. Esto hace que el DTW sea menos sensible, al verse limitado por el número y la separación de los elementos discretos que forman cada serie temporal.

Aplicaciones

  • Reconocimiento automático del habla: Debido a los diferentes ritmos de habla, existen fluctuaciones no lineales en el patrón de habla frente al tiempo, que debe ser eliminadas.[9] Usando DTW, podemos capturar estas distancias, medirlas y cuantificar la similitud entre una muestra de audio y una señal maestra, lo que nos permite saber si se trata de la misma palabra o no.[10] También se puede usar para comparar la distancia entre la dicción de dos hablantes, lo que permite saber si se trata de la misma persona, lo que sirve de firma digital biométrica.[11]
  • Clasificación de señales genómicas: Representando cadenas de ADN mediante símbolos, podemos comparar la posición y alineación de señales genómicas determinadas mediante agrupamiento.[5]
  • Reconocimiento del paso: Si consideramos la situación del cuerpo con respecto al tiempo, obtenemos una serie temporal que puede ser procesada usando DTW para reconocer al sujeto.[4]

Implementaciones de Código abierto

Referencias

Bibliografía

Related Articles

Wikiwand AI