본문 바로가기
딥러닝 with Python

[개념정리] HYDRA(HYbrid Dicionary-Rocket Architecture)(1/2)

by CodeCrafter 2024. 10. 15.
반응형

[본 포스팅은 " Hydra: Competing convolutional kernels for fast and accurate time series classfication"(Dempster et al. 2022) 본 논문을 참고하였습니다.]

 

HYDRA는 HYbrid Dicionary-Rocket Architecture 라는 이름에서 알 수 있듯이 지난번에 포스팅했었던 ROCKET 방법과 Dictionary based 방법을 결합한 시계열 데이터 특성 추출 방법이라고 보시면 되겠습니다.

 

[개념정리] ROCKET(RandOm Convolutional KErnel Transform) (시계열 특징 추출 / 시계열 분류) (1/2)

[파이썬구현] ROCKET(RandOm Convolutional KErnel Transform) (시계열 특징 추출 / 시계열 분류) (2/2)

 

 

1. HYDRA 주요 개념

 

1) Random Convolutinal Kernel

 

- HYDRA는 랜덤하게 생성된 여러 개의 컨볼루션 커널을 시계열 데이터에 적용하여 특정패턴을 감지합니다.

- 이때 다양한 Kernel size, Dilation, Weight, Padding 등을 적용해서 긴 시계열 데이터의 구간 별 특정 패턴을 감지하는 것입니다.

- 기존 ROCKET과는 여기까지 유사하지만, ROCKET의 경우 여기에서 Max pooling 값과 PPV(Proportion of Positive Values)를 추출한 것과 다르게 위에서 추출된 특성들을 가지고 Ditionary-based 방법을 적용합니다.

 

 

2) Dicitonary-based method

 

- 앞선 Random Convolutional Kernel로 추출된 특성을 Ditionary-based method를 활용해서 사전처럼 저장합니다.

 

* Dictionary-based method는 아래와 같은 방식으로 windowing 후 Discretisation(이산화) 후 나온 discrete한 패턴을 특정한 Symbol로 정의해서 Dictionary로 저장하는 방식입니다.

* 이를 통해 시계열 데이터의 각 구간에서 반복적으로 발생하는 중요한 패턴들이 기록되며, 데이터 내에서 가장 자주 등장하거나 중요한 패턴이 무엇인지 분석하여 분류에 사용할 수 있는 특성 벡터를 생성하는 것입니다.

[출처 : "Bake off redux: a review and experimental evaluation of recent time series classification algorithms"(Middlehurst et al. 2024)]

 

- 위에서 알아본 Dictionary-based method로 Random Convolutional Kernel에서 추출된 특징을 Discretisation 한 뒤 이산화 된 Symbol들을 추출해 패턴으로 저장합니다. 

 

 

 

3) 최종 특성 벡터 생성

- Hydra는 Dictionary에서 저장한 패턴 정보를 기반으로 최종적인 특성 벡터를 생성합니다. 이 벡터는 각 패턴이 데이터에서 얼마나 자주 발생했는지, 그리고 그 패턴이 얼마나 강하게 나타났는지의 정보를 요약하여 Classifier에 입력하게 됩니다. 

 

 

 

2. HYDRA의 장점 

 

1) 빠른 계산 : HYDRA는 ROCKET처럼 빠르게 Random covolutional kernel을 적용해 많은 데이터를 효율적으로 처리할 수 있게해줍니다. 

 

2) 패턴 탐지 : Dictionary based method를 통해 시계열 데이터에서의 패턴 (증가, 감소, 주기성 등등)을 사전화 시키고 이를 활용해 Train 데이터로 사전화된 패턴과 Class의 상관관계를 도출한 뒤 Test 데이터에서 Class 예측에 활용합니다.

 

3)  효과적인 특성 추출 : HYDRA는 복잡한 시계열 데이터에서 ROCKET처럼 몇 개의 사전에 정의된 단순한 통계량이 아닌 패턴을 사전화시켜서 특성을 추출하기에 보다 Class와 연관성이 높은 특성을 추출할 수있습니다. 

반응형

댓글