딥러닝이 발전하면서 다양한 방법론들이 쏟아지고 있습니다. 하지만 Tabular data 분석에는 체감 상 아직 트리기반의 방법들이 많이 쓰이고 있습니다. 본 포스팅에서는 새로 나온 딥러닝 기반의 Tabular data 분류 방법에는 어떤 것들이 있는지 살펴보고, 아직도 트리기반의 방법론들이 강점을 보이는 이유에 대해 정리해보려고 합니다.
1. 딥러닝 기반 Tabular Classification 방법론
TabTransformer
- TabTransformer는 구글 리서치에서 발표한 모델로, Transformer 아키텍처를 기반으로 하여 탭형 데이터에 적용
- 카테고리형 데이터와 수치형 데이터를 함께 다룰 수 있음
- 특징: 카테고리형 데이터의 인코딩을 효과적으로 처리하며, 복잡한 상호작용을 학습
- 참고자료
- https://velog.io/@yell0315/TabTransformer-Tabular-Data-Modeling-Using-Contextual-Embeddings
- https://greeksharifa.github.io/machine_learning/2022/03/13/tab-transformer/
- https://www.kaggle.com/code/usharengaraju/keras-tabtransformer-w-b
- https://github.com/lucidrains/tab-transformer-pytorch
NODE (Neural Oblivious Decision Ensembles)
- 신경망 기반의 트리 앙상블을 활용하여 탭형 데이터를 처리
- 특징: 의사결정 트리와 유사한 방식으로 작동하지만, 신경망을 이용하여 더 복잡한 패턴을 학습
- 참고자료
- https://velog.io/@kyyle/Neural-Oblivious-Decision-Ensembles-for-Deep-Learning-on-Tabular-Data
- 코드구현 : https://velog.io/@kyyle/%EC%BD%94%EB%93%9C-%EA%B5%AC%ED%98%84-Neural-Oblivious-Decision-Ensembles-NODE
FT-Transformer (Feature Tokenizer Transformer, 2021)
- 각 특징(feature)을 토큰으로 변환하여 Transformer 아키텍처에 입력하는 방식으로 작동
FT-Transformer의 주요 특징
- 특징 토큰화(Feature Tokenization):
- FT-Transformer는 표형 데이터의 각 특징(feature)을 개별 토큰으로 변환
- 토큰화 과정을 통해 모델이 각 특징 간의 상호작용을 더 잘 이해할 수 있음
- 범주형 데이터는 임베딩 레이어를 통해 벡터로 변환되며, 연속형 데이터도 임베딩 과정을 거쳐 고정된 크기의 벡터로 변환
- 트랜스포머 구조(Transformer Architecture):
- 트랜스포머 모델의 핵심 요소인 셀프 어텐션 메커니즘(self-attention mechanism)을 사용하여 각 특징 간의 관계를 학습
- 멀티-헤드 어텐션(multi-head attention)을 통해 다양한 관점에서 데이터를 분석하고, 피드 포워드 네트워크(feed forward network)를 통해 각 특징의 표현을 업데이트
- 범주형 및 연속형 데이터 처리:
- FT-Transformer는 범주형 데이터와 연속형 데이터를 모두 효과적으로 처리
- 다양한 타입의 데이터를 포함하는 표형 데이터셋에서 높은 성능을 발휘
- 참고자료
- https://velog.io/@kyyle/Revisiting-Deep-Learning-Models-for-Tabular-Data
- 코드구현 : https://velog.io/@kyyle/%EC%BD%94%EB%93%9C-%EA%B5%AC%ED%98%84-FT-Transformer
SAINT (Self-Attention and Intersample Transformer, 2021)
- 트랜스포머 모델의 변형으로 tabular 데이터에 맞게 최적화된 모델
- SAINT의 주요 특징
- 셀프 어텐션(Self-Attention):
- 트랜스포머 모델의 핵심 메커니즘인 셀프 어텐션을 사용하여 각 샘플 내의 특징 간의 상호작용을 학습
- 이를 통해 각 특징이 다른 특징들과 어떻게 관련되는지 이해할 수 있음
- 샘플 간 어텐션(Intersample Attention):
- 샘플 간 어텐션은 데이터셋의 다른 샘플들 간의 관계를 학습
- 비슷한 샘플들 간의 패턴을 학습하여 모델의 성능을 향상
- 데이터 임베딩(Data Embedding):
- SAINT는 범주형 데이터와 연속형 데이터를 모두 임베딩하여 모델의 입력으로 사용
- 범주형 데이터는 임베딩 레이어를 통해 벡터로 변환되며, 연속형 데이터는 일반적으로 정규화된 후 모델에 입력
- 트랜스포머 구조:
- SAINT는 인코더와 디코더 구조를 따르며, 각각 여러 층의 셀프 어텐션과 피드 포워드 네트워크로 구성
- 이러한 구조는 표형 데이터의 복잡한 패턴을 효과적으로 학습
- SAINT의 장점
- 표형 데이터에 최적화:
- 표형 데이터의 특성을 잘 반영하여 기존의 트랜스포머 모델보다 더 나은 성능
- 다양한 데이터 타입 처리:
- 범주형 데이터와 연속형 데이터를 모두 효과적으로 처리할 수 있어 다양한 종류의 표형 데이터셋에서 높은 성능
- 샘플 간 관계 학습:
- 샘플 간 어텐션 메커니즘을 통해 데이터셋 내의 유사한 샘플들 간의 관계를 학습하여 예측 정확도를 향상
- 참고 자료
- https://arxiv.org/pdf/2106.01342
- https://github.com/somepago/saint
- https://bigwaveai.tistory.com/39
- https://www.kaggle.com/code/usharengaraju/keras-tabtransformer-w-b
Impact of Transformers in Deep Learning for Tabular Data
- TabNet/ FT-Transformer/SAINT/TabTransformer 성능 비교하는 논문
- https://medium.com/@gokul3.r/impact-of-transformers-in-deep-learning-for-tabular-data-9e0463f92b86
2. 왜 트리기반 방법론이 더 잘되는 걸까?
Why do tree-based models still outperform deep learning on tabular data?
실제 업무에서도 여러 딥러닝 방법론을 적용해 보아도 트리기반 모델이 안정적으로 돌아가서 관련 논문을 찾아보던 중 딱 원하는 주제의 논문이 있었습니다. Why do tree-based models still outperform deep learning on tabular data? 논문에서는 딥러닝과 트리기반 모델 성능 분석 및 상세 분석을 위해 45개의 tabular data로 여러 모델 벤치마킹한 결과를 보여줍니다. 새로 나오는 딥러닝 논문에서는 마치 본인 알고리즘이 더 성능이 좋을 것처럼 보여주지만, 많은 데이터로 테스팅해보면 트리기반의 모델이 여전히 우수한 성능을 보이는 것을 확인할 수 있습니다.
트리기반 모델이 tabular 데이터에 강한 이유
- Robustness to Uninformative Features, 트리기반 모델은 무의미한 피처에도 영향을 덜 받는데 신경망 모델은 민감할 수 있음
- Preserving Data Orientation, 신경망 모델은 데이터의 고유한 구조와 특징 간의 관계를 유지하는 데 어려움
범주형/연속형 변수의 이질성과 스케일을 효과적으로 처리하기 위해서는 광범위한 전처리 필요 - Learning Irregular Functions, 트리기반 모델이 불규칙하고 복잡한 함수도 쉽게 캐치 가능
'Algorithm' 카테고리의 다른 글
추천 시스템 | TensorFlow Recommenders 리뷰 & 실습 (0) | 2023.11.14 |
---|---|
DBSCAN 차근차근 이해하기 (1) | 2022.10.19 |
모델 앙상블 방법 | Stacking, Blending, Voting (0) | 2022.10.19 |
[최적해 찾기] Multiple response optimization (0) | 2022.10.19 |
[데이터 전처리] Yeo Johnson 변환 (0) | 2022.10.19 |