테이블형 데이터에 트리 기반 모델이 딥러닝 보다 잘 작동하는 이유

2023. 8. 25. 19:00Machine Learning

 안녕하세요,
 
 이번 포스팅에서는 트리 기반 모델과 딥러닝 모델의 특징을 중심으로 테이블형 데이터에 트리 기반 모델이 딥러닝 모델보다 대체로 성능이 잘 나오는 이유에 대해 알아보겠습니다.

 저도 업무에서 테이블형 데이터를 활용한 모델링을 주로 하는데요. 트리 계열의 부스팅 알고리즘과 딥러닝 알고리즘 모두 활용해보고 성능을 비교해보면 대부분 성능이 유사하거나, 부스팅 알고리즘의 성능이 높은 경우가 많습니다. 이런 경우 계산 비용이 적게 소모되는 부스팅 알고리즘을 사용하는 것이 합리적입니다. 따라서 딥러닝이라고 해서 성능이 항상 우수한 것이 아니며, 데이터와 상황에 맞는 알고리즘을 선택해야한다고 생각하고 있습니다.
 
 그렇다면 테이블형 데이터에서 트리 계열 알고리즘이 더 잘 작동하는 이유는 뭘까요? 저는 어렴풋이 트리계열과 딥러닝계열 모델에 적합한 데이터의 형태(변수의 차원, 스케일러, 인코딩과 같은 전처리 방식 등)가 있는데 제가 트리 계열 알고리즘에 더 적합한 형태의 데이터셋을 만들었기 때문이라고 생각했습니다. 마침 이것에 대한 근거를 제시한 논문과 잘 정리된 블로그가 있어 재정리한 글을 남겨보려합니다.
 
 해당 글은 아래 논문을 참고한 블로그를 번역 및 요약하여 정리하였습니다. 
  📑 Why do tree-based models still outperform deep learning on tabular data? (Léo et al., 2022)
  📑 https://medium.com/geekculture/why-tree-based-models-beat-deep-learning-on-tabular-data-fcad692b1456


제가 참고한 글에서는 그 이유를 크게 3가지로 설명하였습니다.
 

1. 신경망 알고리즘은 대체로 연속적인 해집합으로 편향되는 경향이 있다.

신경망 알고리즘(NN)은 비연속적인 함수/결정경계를 찾는데 어려움이 있는 반면, 트리 계열 알고리즘은 들쑥날쑥하고 불규칙적인 패턴을 찾는데 있어 잘 작동합니다.

  • 그 이유는 신경망 알고리즘이 gradient 를 기반으로 하기 때문입니다. 미분 가능한 공간에서 gradient 를 탐색하게 되는데, 미분 가능하다는 것은 연속을 전제로 합니다.  따라서, 불연속적이고 불규칙한 패턴의 함수는 미분할 수 없으므로 신경망이 학습하는데 어려움이 있습니다.
  • 앞서 설명한 내용은 아래의 랜덤 포레스트(RF)와 다중 퍼셉트론(MLP)의 결정 경계면을 통해 확인할 수 있습니다. 보다 높은 성능을 보인 랜덤 포레스트는 불연속적이고 불규칙한 패턴을 보이고, MLP는 부드럽고 연속적인 경계면을 가지는 것을 볼 수 있습니다.
electricity 데이터셋의 중요도 상위 2개 변수에 대한 기본 MLP와 RF의 결정 경계면을 나타냅니다.

 

2. 의미없는 변수가 신경망 알고리즘에 미치는 영향이 더 크다.

 신경망 모델에 예측에 도움이 안되는 변수들을 포함할 경우 성능이 크게 하락할 수 있습니다. 반면 결정 트리 모델의 정보 이득(Information Gain)과 엔트로피(Entropy) 개념  남아있는 변수들과 선택한 변수를 비교하여 최적의 경로를 찾아갈 수 있도록 합니다. 
 
 논문에서는 실험을 통해 의미없는 변수의 영향력을 평가한 결과를 보여주고 있습니다.

  • 왼쪽 그림에서 변수가 제거됨에 따라 모델들의 성능 차이가 줄어드는 것을 볼 수 있습니다. 설명력이 낮은 변수를 제외하였을 때, 모델 간의 성능 차이가 줄어든다는 것은 트리 모델(GBT, RF)이 설명력이 낮은 변수들로부터 독립적이라는 것을 암시합니다.
  • 오른쪽 그림에서는 데이터셋에 랜덤 변수들을 더해갔을 때, 트리 계열 모델(GBT, RF)보다 신경망 모델(FT Transformer, Resnet)에서 성능이 급격하게 하락하는 것을 볼 수 있습니다. Resnet 은 특히 관련 없는 변수에 취약한 모습을 보이고, 트랜스포머의 어텐션 메커니즘은 어느정도 성능 하락을 방어하는 모습을 보입니다.
의미없는 변수를 제거해 나가거나(a) 더해갈 때(b) 평가 정확도의 변화

 

3. 신경망은 데이터셋의 회전에 대해 영향을 거의 받지 않습니다.

 이것은 데이터셋을 회전시켜도, 신경망 모델은 성능이 변하지 않는 것을 의미합니다. 하지만, 실제 데이터를 회전하면 의미가 왜곡될 수 있습니다. 논문에서는 데이터를 회전하여 학습한 결과, 성능 순위가 반전되는 것을 볼 수 있었습니다. Resnet은 원래 성능을 비슷하게 유지하였고, 모든 모델에서 성능이 하락하였습니다.

데이터셋을 랜덤하게 회전시켰을 때 모델들의 평가 정확도

  이에 대한 원인이 논문에서 설명되어 있지는 않지만 다음과 같은 의견이 있었습니다. 신경망은 데이터의 모양/패턴을 학습하기 때문에 회전에 대해 강건하지만, 트리 계열 모델은 가지의 한계확률을 학습하는데 회전으로 축이 변경될 경우 원래의 의미를 잃게 되어 예측 성능이 크게 하락할 수 있습니다.


 딥러닝, 강화학습과 관련하여 기존 방법에서 응용을 통한 신기술이 쏟아지는 요즘이지만 트리 계열 머신러닝이 우수한 성능을 보이는 분야가 있고, 왜 그런지에 대해서도 설명할 수 있는 좋은 글이라 내용을 다시 정리해보았습니다. 트리계열 모델과 신경망 모델의 특징과 실험 결과를 기반으로 테이블형 데이터에 트리계열 모델이 보다 적합한 이유를 알아보았습니다. (제가 이해한 내용이나 번역한 부분에 잘못된 부분이 있다면 댓글 남겨주세요:)