티스토리 뷰
논문 : https://arxiv.org/pdf/2106.03253.pdf
⬛ Abstract
- tabular data의 분류/회귀 문제에서 XGBoost와 같은 앙상블 모델이 일반적으로 권장.
- 최근에 tabular data에 대해 딥러닝 사용이 제안되며, 몇 가지 케이스에서 XGBoost보다 딥러닝 성능이 높다고 함
- tabular data에 대해 딥러닝모델과 XGBoost를 비교할 때 딥러닝 모델이 추천될 만한것인지 다양한 데이터셋으로 비교 (정확도로 비교하며 tuning도 고려함)
- XGBoost는 딥러닝 모델을 제안한 논문에서 사용한 데이터셋을 포함한 다양한 데이터셋에 대해 딥러닝 모델보다 좋은 성능을 보임 XGBoost는 tuning을 적게 함
- XGBoost 단독 모델보다는 XGBoost와 딥러닝 모델을 앙상블 할 경우 성능이 더 좋음
⬛ Introduction
- sample(row)와 feature(columns)로 구성된 Tabular data는 실제 세계에서 가장 일반화된 데이터임
- tabular data에 딥러닝을 적용할 때 발생하는 문제는 locality 부족, 데이터 희소성(결측값), 혼합된 feature 타입(숫자형, 순서형, 범주형), 그리고 텍스트와 이미지와 다르게 데이터 structure에 대한 사전 지식 부족임
- ’no free lunch’원리(모든 문제에서 가장 적합한 어떤 하나의 모델은 없다)가 항상 적용하더라도 tabular data 문제에서는 XGBoost와 같은 tree-앙상블 알고리즘이 현재 많이 추천되고 있음
- 최근에 tabular data에 대해 딥러닝 네트워크를 사용하려는 시도가 있었고 XGBoost 성능을 능가한다고 주장한 논문들
→ 문제점1) 이 분야의 논문들은 표준 벤치마크할 게 없어 각기 다른 데이터셋을 사용하므로 모델들을 비교하기 어렵게 함(일부 모델에는 오픈 소스 구현을 하기 어렵기 때문)
문제점2) 모델 비교를 시도하려 하지만 모든 모델을 동등하게 최적하지 못함
- 이 연구의 주요 목적은 제안된 딥러닝 모델들 중 실제로 tabular data 문제에서 권장되는 선택인지를 알아보는 것
(1) 딥러닝 모델을 제안한 논문에서 나타나지 않은 데이터셋에 대해서도 그 모델들이 정확한가?
(2) training과 하이퍼파라미터 튜닝은 다른 모델에 비해 얼마나 걸리는지?
- 11개 데이터 셋에 대해 분석 (최근 딥러닝 모델을 제안한 4개 논문에서 중 9개 데이터셋 포함)
- 일반적으로 XGBoost가 딥러닝보다 성능이 뛰어나며 하이퍼파리미터 튜닝 시간도 짧음
- XGBoost와 딥러닝 모델을 앙상블 할 경우 성능이 더 좋음
- Deep learning is currently not all we need for tabular data, despite the recent significant progress.
⬛ Deep Neural Models for Tabular Data
1) TabNet : (순차적인 어텐션(Sequential Attention)을 사용하여 각 의사 결정 단계에서 추론할 feature를 선택하여 학습 능력이 가장 두드러진 feature를 사용하므로 interpretability와 효과적인 학습을 가능하게 함) decision step에서 feature를 선택할 때 sparsemax(softmax의 sparse한 버전으로, Sparse한 데이터셋 적용 시 좋은 성능)라는 normalization 수행. mask 학습의 이점은 전부 아니면 전무일 필요가 없다는것. 오히려 feature에 엄격한 임계값을 사용(미분할 수 없는..)하는 대신 학습 가능한 mask로 soft한 결정을 내릴 수 있음.
2) Neural Oblivious Decision Ensembles (NODE) : (error gradients가 역전파할 수 있도록)미분 가능한 같은 깊이의 ODT(Oblivious Decision Trees)가 포함됨, feature에 따라서 데이터를 분할하며 학습 가능한 입계값으로 각각을 비교. 오직 한 feature만이 각각의 level에서 선택되며 결과적으로 균형잡힌 ODT를 냄. 완전한 모델은 미분가능한 tree들의 앙상블을 제공
3) DNF-Net : DNN에서 disjunctive normal formulas (DNF)을 시뮬레이션 한 것. hard boolean공식을 soft, 미분가능한 버전으로 교체. disjunctive normal neural form (DNNF) block이 이 모델에서 중요한 기능임. 이것은 (1) fully connected layer (2) literal에 대한 binary 결합인 soft version으로 형성된 DNNF layer. 완전한 모델은 이러한 DNNF의 앙상블
4) 1D-CNN : 최근 Kaggle에서 최고 성능 달성. CNN 구조는 feature extraction을 잘 수행하지만 feature 순서에 locality특성이 없기 때문에 tabular data에서는 드물게 사용. 이 모델에서 FC layer는 locality 특성이 있는 더 큰 feature들을 만드는데 사용되고 몇몇의 1D-Conv는 shortcut과 같은 연결을 함
5) Ensemble of models : 여러 모델을훈련하고 예측을 결합하여 정확도를 높이고 분산을 줄이는 방법. 이 논문의 앙상블은 TabNet, NODE, DNF-NEt, 1D-CNN, XGboost의 가중 평균 사용. 상대 가중치는 단순히 각 모델의 정규화된 validation loss로 정의됨.
⬛ Comparing the Models
실제 적용 시 모델들이 (1) 성능이 정확해야하고, (2) 효율적으로 훈련하고 추론하며, (3) 최적화 시간이 짧음(빠른 하이퍼파라미터 튜닝)를 조사함. 먼저 다양한 데이터셋에 대해 딥러닝 모델들, XGBoost, 앙상블 모델의 정확도를 계산. 다음으로는 그 앙상블의 다양한 구성 요소를 분석( 좋은 결과를 내거나 고전적인 모델들과 결합하기 위해, 딥러닝 모델들이 필수적인지 테스트). 정확도와 필요한 계산 리소스의 tradeoff를 탐색. 마지막으로 다른모델들의 하이퍼파라미터 탐색 과정을 비교
◼ Experimental Setup
◽ DATASETS
- TabNet, DNF-Net, NODE에 대한 각 논문에서 3개의 데이터셋을 가져와 사용함. 이 논문들에서 사용하지 않은 두 개의 Kaggle 데이터를 추가로 사용.(1D-CNN는 Kaggle 대회에서 최근에 제안된 것으로 그 데이터셋은 사용하지 않음).
- 사용한 데이터셋은 Forest Cover Type, Higgs Boson, Year Prediction, Rossmann Store
Sales, Gas Concentrations, Eye Movements, Gesture Phase, MSLR, Epsilon, Shrutime and
Blastcha 임
◽ The Optimization Process
- 하이퍼파라미터를 찾기위해 Hyperopt(Bayesian optimization사용)를 사용. 하이퍼파라미터 탐색은 각각의 데이터셋에서 validation set에 대한 결과를 최적화하며 1000 step 실시
- 초기 하이퍼파라미터는 원래의 논문에서 가져온 것을 사용.
- 데이터를 training / validation / test set으로 분리하며 무작위 분할을 세 번 수행 (같은 partition 안에서도 three random seed initializations 실시 )
- classification 데이터셋에 대해서는 cross entropy loss 최소화, regression 데이터셋에 대해서는 mean sequared error를 최소화함
- 'original model' : 각 모델을 제안한 논문들에서 해당 데이터셋 대해 사용한 모델들,
'unseen datasets' : 그 논문들에서 언급되지 않은 데이터셋
◼ Results
○ 딥러닝 모델들이 다른 데이터셋에 대해서도 일반화를 하는가?
- 딥러닝 모델들이 원래의 논문에서 포함하지 데이터들에 대해서 학습할 때 좋은 성능을 내는지 탐색하고 XGBoost와 비교
- Table1은각 데이터셋의 각 모델의 정확도를 나타냄(값이 작을수록 정확도 커짐)
▪ 대부분의 경우에 'original model'을 적용한 데이터셋보다 'unseen datasets'에서 성능이 좋지 않음
▪ XGBoost 모델은 일반적으로 딥러닝 모델 보다 성능이 좋음
▪ 딥러닝 모델은 다른 모델들보다 일관적으로 좋은 성능을 내지는 못함. 1D-CNN 모델 성능은 모든 데이터셋가 새롭기때문에 더 나은 성능을 볼 수 있음.
▪ 대부분의 경우에 딥러닝 모델의앙상블과 XGBoost는 다른 모델보다 성능이 좋음
- 또한 각 데이터셋에 대해 각 모델의 상대적 성능계산. 해당 데이셋의 best모델과 비교함. 'unseen datasets'에 대해 각 모델들을 기하평균함
- 모든 모델의 앙상블은 2.32%의 평균 상대 증가율로 best model이었음. XGBoost는 3.4%로 두번째로, 1D-CNN은 7.5%, TabNet은 10.5%, DNF-Net은 11.8%, NODE는 14.2%
- 딥러닝 모델이 'unseen dataset'에 대해 학습할 때 성능이 저하되는 이유
(1) selection bias - 각 논문은 그 모델의 성능이 좋은 데이터셋에 모델의 성능을 자연스럽게 보여줌
(2) 하이퍼파라미터 최적화 차이 - 각 논문은 더 많은 것을 기반으로 모델의 하이파라미터 설정. 광범위한 하이퍼파라미터 탐색을 통해 더 나은 성능을 얻을 수 있음 (원래 데이터셋의 각 모델에 대한 결과는 제시된 결과와 일치했음)
○ XGBoost와 딥러닝 모델들이 둘다 필요한가?
- XGBoost와 딥러닝 모델들의 앙상블이 데이터셋에서 가장 좋은 성능을 보임
- 앙상블이 어떤 구성 요소가 필수인지 조사하는 게 중요
- XGBoost가 딥러닝모델과 결합 vs 딥러닝 모델이 아닌 모델들과 단순한 앙상블
- XGBoost 및 기타 non-deep model (SVM, CatBoost) 모델의 앙상블을 학습시킴
- 고전적 모델들의 앙상블이 딥러닝 모델과 XGBoost의 앙상블보다 더 안 좋은 성능을 보임
- 또한 XGBoost 없이 딥러닝 모델의 앙상블만으로 좋은 결과 내지 못함
- 딥러닝 모델과 XGBoost의 조합이 이러한 데이터셋에 이점을 제공
○ SUBSET OF MODELS
- 앙상블은 정확도를 향상시키지만, 여러 모델들의 사용하려면 추가적인 계산 필요. 실제 적용할 때, 컴퓨팅 제약조건은 최종 성능에 영향을 미침
- 정확도와 계산속도 사이의 tradeoff를 확인하기 위해 앙상블 내에서 모델의 subset을 사용하는 것을 고려
(1) validation loss 값이 낮은 모델을 선정
(2) 각 예제에 대한 모델의 불확실성을 기반으로, cofindence가 높은 모델 선정
(3) random order를 기준으로 하여 모델을 무작위 선택
- Figure1) 각 모델들의 subset들은 unseen dataset(Shrutime)의 예제로 비교
- 가장 좋은 선택 방법은 validation loss를 기반으로 예측값을 평균한 것 (최적의 성능을 얻기 위해 오직 3모델들만 필요)
- 모델을 무작위로 선정하는 것이 최악의 선택
○ 최적화가 얼마나 어려운가?
- 실제 적용 시, 새로운 데이터셋에서 모델을 최적화 하는 데 제한된 시간이 있음
- 많은 데이터셋트에서 여러 모델을 실행하는 AutoML 시스템에서 중요한 고려 사항
- 모델을 최적화하는데 필요한 총 반복 횟수에 관심
- Figure2) Shrutime데이터셋에서 하이퍼파라미터 최적화 과정에서 반복횟수에 대한 모델의 성능(mean and standard error of mean))
- XGBoost가 딥러닝 모델보다 더 빨리 좋은 성능으로 수렴함 (더 적은 iterations, 런타임 측면에서도 더 짧음)
<이러한 결과의 요인>
(1) Bayesian 하이퍼파라미터 최적화 프로세스를 사용했으며 결과는 다른 최적화 프로세스에 따라 다를 수 있음
(2) XGBoost의 초기 하이퍼파라미터는 이전에 많은 데이터셋에 대해 최적화되었기 때문에 더 강력할 수 있음
다른 데이터셋에 대한 딥러닝 모델에 대해서도 잘 작동하는 일부 하이퍼파라미터를 찾을 수 있을 것임
(3) XGBoost 모델에는 더 강력하고 최적화하기 쉽게 만드는 몇가지 고유한 특성이 있음
⬛ Summary
- 테이블 데이터셋에 대해 최근에 제안된 딥러닝 모델의 정확도를 조사
- 딥러닝 모델들은 원본 논문에 나타나지 않은 데이터셋에 대해 성능이 안 좋았으며,
베이스 라인 모델인 XGBoost보다 더 약했음
- XGBoost와 딥러닝 모델의 앙상블을 제안 - 개별 모델과 딥러닝이 아닌 고전적인 앙상들보다 더 나은 성능을 보임
- 특히, AutoML에서 중요한 정확도, 추론 계산 비용(computational cost)과 하이퍼파라미터 최적화 시간 간의 가능한 절충점에 대해 살펴봄
- 결론적으로, tabular dataset에 대한 딥러닝 모델을 사용하여 상당한 진전이 있었지만 여전히 XGBoost보다 성능이 좋지는 않음
- 다소 개선된 앙상블 결과는 추가적 연구를 위한 또 다른 잠재적인 방법을 제공
'Data Science&AI' 카테고리의 다른 글
[강화학습 뿌시기] 2. Markov Decision Processes(MDP) (0) | 2022.01.07 |
---|---|
[강화학습 뿌시기] 1. 강화학습(Reinforcement Learning) 기초 (0) | 2022.01.06 |
[머신러닝 기초] Bagging(배깅) vs Boosting(부스팅) (0) | 2021.07.17 |
[머신러닝 기초] Bias vs Variance (0) | 2021.07.17 |
[이상탐지] 오토인코더(AutoEncoder)에 대한 자세한 설명 (0) | 2021.07.14 |
- Total
- Today
- Yesterday
- 모델 배포
- amazon Q
- 모델 드리프트 대응법
- Tableau vs QuickSight
- Generative BI
- data drift
- 비즈니스 관점 AI
- pandas-gpt
- Data Drift Detection
- 최신시계열
- 시계열딥러닝
- 영어공부
- Concept Drift
- AutoEncoder
- 생성형BI
- 오토인코더
- Data Drift와 Concept Drift 차이
- SQLD
- amzaon quicksight
- NHITS설명
- Model Drift Detection
- SQLD 정리
- 모델 드리프트
- 추천시스템
- SQLD자격증
- 데이터 드리프트
- 영화 인턴
- pandas-ai
- On-premise BI vs Cloud BI
- Model Drift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |