본문 바로가기

주저하지말고 주저리주저리

트리 모델은 왜 작은 데이터에서 강한가 — XGBoost와 딥러닝의 구조적 차이

 

 

tree model

정형 데이터와 작은 데이터셋에서 XGBoost, LightGBM이 딥러닝을 앞서는 이유를 귀납적 편향과 구조적 차이로 설명하며. 모델 선택 기준을 정리해보았다. 

 

 머신러닝을 처음 공부하던 시절에는 딥러닝이 결국 다 이길 거라고 생각했다. 레이어가 더 많고, 파라미터도 더 많으니 결국 딥러닝이 머신러닝이고 딥러닝을 통한 개발이 정답이라고 생각했다.

 

그런데 정형 데이터와 관련해서는 다소 내 추론과 결과가 달라졌다,,, 처음엔 단순히 딥러닝 튜닝이 어려워서 그렇다고 생각했다. 그런데 파고들수록 이유가 구체적으로 보이기 시작했다. 단순히 "트리 모델이 강하다"는 말로는 설명이 안 된다. 구조적인 이유와 그 차이를 통해서 알수 있었다.


트리 모델은 함수가 아니라 규칙을 만든다

딥러닝이 세상을 연속적인 함수로 보려 한다면, Decision Tree는 세상을 조건과 분기로 쪼개진 영역으로 본다. 이 차이가 생각보다 중요하다.

Decision Tree를 직관적으로 설명하면 "조건문을 반복해서 만드는 모델"이다. 고객 이탈 예측을 예로 들면 이런 식으로 학습이 진행된다.

  • 월 사용량이 일정 기준 이하인가
  • 최근 3개월 문의 횟수가 높은가
  • 할인 쿠폰 반응이 낮은가

이 질문들을 순서대로 던지면서 데이터를 계속 나눈다. 마지막 잎 노드에 도달하면 그 구간 샘플들의 평균이나 다수 클래스를 예측으로 내놓는다. 

Decision Tree는 어떻게 학습하는가

트리는 전체 데이터를 한 번에 이해하지 않는다. 지금 이 노드에서 어떤 기준으로 나누면 가장 잘 정리되는지만 본다. 분류 문제라면 불순도(impurity)를 줄이는 방향으로 split 기준을 고른다.

대표적인 지표 두 가지는 Gini impurity와 Entropy다.

 

p_k는 해당 노드에서 클래스 k가 차지하는 비율이다. 직관은 단순하다. 노드 안에 여러 클래스가 뒤섞여 있으면 불순도가 높고, 한 클래스로 정리되면 낮다. 회귀라면 분산 감소나 MSE 감소를 본다.

 

중요한 건, 트리가 전역 최적해를 찾지 않는다는 점이다. 현재 노드에서 가장 좋아 보이는 분할을 그리디하게 고른다. 그래서 빠르고 단순하다. 대신 초반 split이 잘못 잡히면 구조 전체가 흔들린다.

단일 트리가 쉽게 과적합되는 이유

단일 Decision Tree는 깊이 제한 없이 성장하면 학습 데이터의 작은 예외까지 외워버린다. 분산이 크다는 의미다.

샘플이 조금만 바뀌어도 상위 노드의 split이 달라지고, 그러면 그 아래 서브트리 전체가 바뀐다.


XGBoost는 왜 그렇게 강한가

트리 하나의 불안정성을 제어하는 방법은 크게 두 방향이다. 여러 트리를 병렬로 만들어 평균 내는 Random Forest, 그리고 트리를 순차적으로 쌓아 오차를 보정하는 Gradient Boosting. XGBoost는 후자의 방향에서 가장 널리 쓰이는 구현체다.

Gradient Boosting의 구조

XGBoost의 예측은 작은 트리들의 합으로 누적된다.

 

 

첫 번째 트리가 거칠게 예측하고, 두 번째 트리는 그 오차를 줄이는 방향으로 추가된다. 이 과정을 반복하며 약한 트리(weak learner) 여러 개가 쌓여 전체 모델이 정교해진다. 각 단계는 이전 모델의 잔차(residual)에 맞추는 방식으로 학습하고, 수학적으로는 손실 함수를 2차 근사한 형태로 최적화한다.

XGBoost가 단순한 부스팅과 다른 점

XGBoost가 성능이 좋은 이유는 "트리를 많이 쌓는 것" 자체가 아니다. 세부 설계가 다르다.

 

1. 정규화가 들어간다. 리프 개수와 리프 가중치에 패널티를 걸어 트리가 무한정 복잡해지는 걸 막는다. 부스팅 자체의 과적합 위험을 구조적으로 억제한다.

2. 학습률(learning rate)과 서브샘플링이 있다. 한 번에 크게 고치지 않고 조금씩 보정하며, 데이터와 feature를 일부만 사용해 과적합을 줄인다. 덕분에 데이터가 적어도 꽤 안정적으로 학습이 된다.

3. 결측치와 비선형 상호작용을 자연스럽게 다룬다. 정형 데이터에서는 이게 큰 장점이다. 전처리가 완벽하지 않아도 baseline 성능이 빠르게 나온다.

 

LightGBM도 같은 Gradient Boosting 계열이다. histogram 기반 분할과 leaf-wise 성장 방식 때문에 속도와 메모리 효율이 좋고, 특히 행 수가 많고 feature 수도 많은 데이터에서 XGBoost보다 빠른 경우가 많다. 원리적인 강점은 둘이 공유한다.


작은 데이터에서 트리 모델이 강한 6가지 이유

2026.06.03 - [HACKING] - 표 데이터에서 XGBoost가 딥러닝을 이기는 이유

 

표 데이터에서 XGBoost가 딥러닝을 이기는 이유

AI를 처음 공부할 때는 딥러닝이 모든 문제의 정답이라고 생각했다.이미지 분류에서 인간 수준의 성능을 보여주고, ChatGPT 같은 대형 언어모델이 등장한 지금 시대에 굳이 다른 방법을 쓸 이유가

romancurity.tistory.com

 

트리 모델의 귀납적 편향(inductive bias)이 데이터 특성과 잘 맞기 때문이다.

이미 의미가 정리된 입력을 다룬다

딥러닝은 raw input에서 유용한 표현(representation)을 스스로 만드는 모델이다. 이미지에서 엣지를 보고, 텍스트에서 문맥을 잡는다. 그래서 이미지와 텍스트에서 강하다. 표현 학습 자체가 문제의 핵심이기 때문이다.

그런데 정형 데이터는 다르다. 나이, 거래 금액, 클릭률, 체류 시간, 연체 일수. 열 자체가 이미 사람이 가공해 둔 특징이다. 모델이 새로운 표현을 만들 필요가 줄어든다. 트리는 여기서 "이 feature를 어떤 기준으로 자르면 예측이 좋아지는가"만 찾으면 된다. 거대한 잠재 표현 공간(latent space)을 설계하거나 학습할 필요가 없다.

데이터가 적을수록 이 단순함이 힘이 된다.

 

적은 샘플로도 지역적 규칙을 만든다

트리는 전역 구조를 한 번에 배우지 않는다. 지금 이 노드 안에서 의미 있는 split만 찾는다. 지역적인 규칙(local rule)을 차곡차곡 쌓는 방식이다.

전체 함수를 정확히 복원하려 하지 않기 때문에, 몇 개 샘플만으로도 "이 구간에서는 이런 경향이 있다"를 포착할 수 있다. 물론 너무 적으면 과적합 위험이 커지지만, 적절한 깊이 제한과 boosting이 들어가면 빠른 baseline이 된다.

복잡하게 딥러닝을 설계하기 전에 XGBoost 돌려보면 이미 쓸 만한 수준의 성능이 나와 있는 이유가 여기에 있다.

 

딥러닝의 inductive bias는 정형 데이터에 맞지 않는다

Transformer는 텍스트와 시퀀스의 문맥 구조를 잘 쓴다. 모델 안에 이미 "어떤 입력 구조가 의미 있다"는 편향이 설계되어 있고, 이 편향이 맞을 때 강력하다. 그런데 표의 열은 대체로 순서도 없고 인접성의 의미도 약하다.

왼쪽 열과 오른쪽 열이 붙어 있어도 공간적 의미는 없다. 딥러닝이 잘 써먹을 수 있는 공통 구조가 상대적으로 빈약하다.

이 상황에서 작은 데이터까지 겹치면, 모델의 높은 자유도가 장점이 아니라 단점이다.

 

회귀분석에서 더 많은 변수를 넣을 수록 모델의 성능이 약화된다,,, 한가지의 변수를 통해 얻을 데이터의 개수가 부족하기 때문이다, 따라서 많은 변수와 그 벡터관계를 표현하는 딥러닝에서는 데이터수가 작을수록 모델의 성능은 약화될수 밖에 없는 것이다.


딥러닝과의 구조적 차이

연속 함수 근사 vs 분기 규칙 누적

딥러닝은 이론적으로 매우 강력한 함수 근사기다. 충분한 레이어와 파라미터로 어떤 함수든 근사할 수 있다. 하지만 "표현력이 높다"는 건 동시에 "가설 공간이 넓다"는 뜻이기도 하다.

 

데이터가 많으면 그 넓은 공간에서 좋은 해를 찾을 수 있다. 데이터가 적으면 이야기가 달라진다. 가능한 해가 너무 많고, 우연히 학습셋에 잘 맞는 해를 잡을 위험이 커진다.

 

반면 트리 기반은 처음부터 가설 공간을 강하게 제한한다.

얕은 트리들의 합, 분기 규칙의 누적, 규제된 복잡도. 자유도는 줄지만 정형 데이터에는 이 제약이 오히려 잘 맞는다.

이 차이를 한 문장으로 정리하면 이렇다.

딥러닝은 "좋은 표현을 충분한 데이터로 찾아내는 모델"이고, 트리 모델은 "이미 의미가 있는 feature 위에서 좋은 경계를 빠르게 찾는 모델"이다.

 


2026.06.03 - [주저하지말고 주저리주저리] - 왜 Transformer는 RNN을 대체했을까? ChatGPT의 시작, Attention Is All You Need

 

왜 Transformer는 RNN을 대체했을까? ChatGPT의 시작, Attention Is All You Need

ChatGPT, Claude, Gemini등, 지금 우리가 사용하는 거의 모든 생성형 AI의 공통 조상은 Transformer다.그리고 그 Transformer는 2017년 발표된 단 한 편의 논문, Attention Is All You Need 에서 시작됐다.흥미로운 점은

romancurity.tistory.com

 


6. 결론

트리 모델이 작은 데이터에서 강한 이유를 "덜 복잡해서"라고만 설명하면 반만 맞는 말이 된다. 핵심은 그 단순함이 정형 데이터의 구조와 정확히 맞는다는 데 있다.

 

Decision Tree는 공간을 분기 규칙으로 쪼갠다. XGBoost는 그 약한 규칙들을 순차적으로 쌓아 오차를 줄인다. 이 구조는 이미 의미가 정리된 feature, 임계값이 많은 현실 데이터, 적은 샘플에서도 포착 가능한 지역 패턴과 궁합이 좋다. 딥러닝이 정형 데이터에서 적극 활용할 inductive bias가 없는 것과 대비된다.

 

결국 세가지로 귀결된다.

 

첫째, 정형 데이터라면 XGBoost나 LightGBM을 baseline으로 먼저 보는 것이 보수적인 선택이 아니라 합리적인 선택이다.

 

둘째, 딥러닝이 항상 더 좋은 건 아니다. 구조가 맞는 영역에서 강한 것이고, tabular data는 대체로 그 영역 밖이다.

 

셋째, 모델 선택은 유행의 문제가 아니다. 데이터 구조와 모델의 inductive bias가 얼마나 잘 맞는가의 문제다.