컴퓨터는 사람이 도와주어야 학습할 수 있습니다. 이를 "머신 러닝"이라고 합니다. 머신 러닝이란 컴퓨터가 데이터로부터 학습하도록 가르치는 것을 의미하며, 명시적으로 프로그래밍하지 않고 모델을 통해 추론하는 활동입니다. 이것은 아이가 배우는 방식과 유사한 부분이 있는데, 강의를 듣는 것뿐만 아니라 관찰과 실습을 통해 배웁니다. 정확도는 머신 러닝이 다루는 요소 중 하나입니다. 이는 컴퓨터가 무언가를 예측할 때 얼마나 정확한지를 나타냅니다. 정확도가 높을수록 이러한 예측은 더욱 견고해집니다.
다이나믹 타임 워핑(Dynamic Time Warping)은 시계열 데이터를 정렬하는 방법입니다. 두 개의 비틀린 선이 있다고 가정하고, 이 둘을 비교하려고 한다면, 다이나믹 타임 워핑은 한 파형의 모양을 바꿔서 다른 파형과 비교하기 쉽게 만드는 것과 같습니다. 이러한 선들을 정렬하면 우리가 이 선을 예측하려고 할 때 컴퓨터가 데이터로부터 학습하는 것이 더 쉬워집니다.
동적 시간 왜곡(Dynamic Time Warping)이 어떻게 작동하는지 이해하기 위한 비유는 매일 가게의 교통량을 예측하려고 하는 것과 같습니다. 이전 연도의 매장 방문객 수치가 있습니다. 하지만 모든 날이 그런 것은 아닙니다. 다른 날들은 서로 다른 인파를 가지고 있으며, 어떤 날은 매우 붐비고 지하철이 다니는 날도 있지만, 다른 날은 비가 오는 날로 몇몇 랜덤한 사람들이 들르는 경우도 있습니다. 데이터가 변하면 미래의 방문을 예측하기가 어려워집니다.
시간 시리즈 데이터 전용은 아니지만, 그래도 유용합니다. 다양한 유형의 데이터를 처리할 수 있어 매우 다재다능한 도구입니다. 두 개의 DNA 서열을 비교한다고 가정해 보겠습니다. 동적 시간 왜곡은 서열의 일부를 정렬하거나 약간 이동시켜 비교가 가능하게 합니다. 이러한 방식으로 과학자들은 서열 간의 유사성이나 차이 정도를 파악하고 생물학 및 의학과 관련된 중요한 측면을 발견할 수 있습니다.
음성 인식도 그중 하나입니다. 컴퓨터가 누군가 말하는 소리를 들을 때, 데이터베이스에 있는 단어나 문구 중에서 무슨 말이 나왔는지 식별해야 합니다. 하지만 모든 사람이 같은 단어를 정확히 동일한 방식으로 발음하지 않거나, 배경 소음이 있어 듣기 어려울 수 있습니다. 이 방법에서는 다이나믹 타임 워핑(Dynamic Time Warping)이 음성 데이터를 정렬하여 컴퓨터가 대본과 실제로 말한 내용 사이의 오류율을 쉽게 줄일 수 있도록 해줍니다. 이를 통해 음성 비서 및 기타 음성 인식 기술의 성능이 향상될 수 있습니다.
동적 시간 왜곡(Dynamic Time Warping)의 활용은 우리가 예측을 바라보는 방식을 변화시키고 있습니다. 예측이란 미래가 어떻게 될지 추측하는 것에 관한 것이며, 이와 관련하여 데이터를 이용해 사건들에 대한 불완전한 근사값들을 도출합니다. 이는 현명한 결정을 내리는 데 매우 유리할 수 있습니다. 예를 들어, 병원을 운영하고 있다면(그건 정말 멋질 거예요), 다음 달에 몇 명의 환자가 올지 예상해야 할 필요가 있을 겁니다. 그렇게 하면 적절한 양의 공급품이 정확히 필요한 시기에 도착하게 됩니다. 너무 많이 주문하면 물론 낭비가 되겠죠. 루아(Rua)는 이를 넘어서 더 위험하다고 설명합니다: 만약 부족하게 주문한다면 품절될 수도 있죠. 동적 시간 왜곡은 과거 데이터 포인트를 기반으로 미래의 숫자를 예측할 수 있게 해주며, 이를 통해 자원을 더 효율적으로 관리할 수 있습니다.
DTW는 머신 러닝 도구박스에서 단지 하나의 도구에 불과합니다. 첫 번째 점은 명백하지만 여전히 시간 연속 데이터의 경우 매우 중요합니다. 다이나믹 타임 워핑(Dynamic Time Warping)은 데이터를 일관되게 정렬하여 컴퓨터가 더 나은 예측을 할 수 있도록 돕습니다. 이는 의료부터 소매업에 이르기까지 다양한 분야에서 적용될 수 있으며 의사 결정을 개선시킵니다.