정형데이터를 위한 딥러닝 모델 TabNet 간단하게
1. introduction
정형 데이터를 위한 딥러닝 모델
테이블 형식의 데이터에 적합한 학습 아키텍처
전처리 과정이 필요없음
기존에는 feature 선택과 모델 학습 과정이 나누어져 있지만 TabNet은 한번에 가능하게 만듦
각 의사결정 단계에서 순차적인 attention으로 추론할 feature를 선택함
feature의 선택으로 어떠한 feature가 중요한 특징을 가지는지 설명도 가능함
label이 없는 데이터가 많을 때 self-supervised learning으로 representation에 효과적인 성능 향상을 보여줌
의사결정 각각 에서 왜 그 feature를 선택했는지 local interpretability와
모델이 만들어지면서 어떤 근거로 feature들이 선택되었는지 global interpretability를 제공할 수 있음
2. 왜 의미가 있는가?
정형데이터에 boosting model이 선점하고 있다고 하지만 점점 규모가 커지면서 한계를 보일 수 있어 딥러닝 모델이 효과적일듯
3. 기본 구조
1) encoder
각각의 decision step에서 feature transformer, attentive transformer, feature masking의 반복으로 이루어짐
2) decoder
각 decision step에 feature transformer가 있음
3) feature transformer
모든 decision step에서 공유하는 block과 각 decision step에 의존하는 block들로 구성
fully connected layer, batch normalization, gated linear unit으로 구성
$\sqrt{0.5}$는 학습을 안정되게 할려고 사용한 수치라고 함
4) attentive transformer
현재 decision step 이전에 각 feature가 얼마나 많이 사용되었는지 집계한 정보를 단일 layer에 mapping하여 사용하는 prior scale information
각 decision 단계에서 가장 두드러지는 feature를 sparse하게 선택하고자 sparsemax를 사용한 학습
sparsemax는 softmax보다 0을 더 만들어주는 함수라고 함?
4. 성능 비교
자기들이 사용한 dataset에 비교 실험을 한 결과 다른 모델에 비해 압도적인 성능을 냄
그런데 이 성능 비교표만 보고 TabNet이 좋구나라고 생각하는 것보다 자기들이 사용한 데이터셋에는 좋구나라고 생각해야함
다양한 데이터셋에 적절한 성능을 내는지는 해보지않으면 사실 모름
그리고 TabNet은 딥러닝 모델 치고는 hyperparameter가 너무 많아 tuning이 쉽지 않다는 단점도 있다고 함
'정형데이터' 카테고리의 다른 글
여러가지 ensemble learning 방법들 (0) | 2024.08.30 |
---|---|
정형데이터 분석에서 feature selection하는 몇가지 방법 (0) | 2024.04.03 |
정형데이터 분석에서 feature importance와 permutation importance (0) | 2023.12.08 |
cross validation out of fold prediction (0) | 2023.12.07 |
time series data의 cross validation에 대한 여러가지 고찰 (0) | 2022.06.28 |