Blog/그래디언트 부스팅 & XGBoost

Model Lab

그래디언트 부스팅 & XGBoost

약한 나무를 강하게

SK

Skari Team

Skari

2026년 7월·9분

그래디언트 부스팅

새 나무마다 이전 오차를 바로잡아 — 잔차가 라운드마다 줄어듭니다.

잔차 오차 →

얕은 트리 하나만으로는 복잡한 문제를 충분히 해결하기 어렵습니다. 부스팅의 핵심 아이디어는 트리를 하나씩 학습시키되, 각 트리를 이전 트리들이 여전히 내는 오차로 학습시키는 것입니다. 이러한 과정을 반복하면 위 차트처럼 잔차 오차가 라운드마다 줄어듭니다.

Note

랜덤 포레스트는 트리를 병렬로 학습해 평균합니다. 부스팅은 순차적으로 학습해 각각 이전 모델의 오차를 보완합니다. 이전 모델이 잘못 예측한 데이터에 집중하는 이 순차성이 높은 정확도의 비결입니다.

부스팅의 동작

  • 단순한 예측(흔히 평균)으로 시작
  • 모델이 틀린 부분인 잔차에 작은 나무를 적합
  • 학습률로 축소한 그 나무의 일부를 더함
  • 반복하며 각 나무가 남은 오차를 깎아냄

각 트리는 의도적으로 약하게 만들고, 이러한 여러 개의 약한 모델을 결합해 높은 성능을 얻습니다.

예제로 살펴보기: 잔차를 학습한다

'각 트리가 이전 오차를 학습한다'는 말은 예제를 통해 살펴보면 이해하기 쉽습니다. 참값이 120이라고 합시다:

나무 1  ->  100 예측        (실제 = 120, 오차 = +20)
나무 2  ->  +20을 학습      (교정하면 118)
나무 3  ->  남은 +2를 수정   (이제 ~120)
...      각 나무가 남은 오차를 줄임

모든 새 트리는 목표를 직접 예측하지 않고 아직 남아 있는 오차를 예측합니다. 이런 교정을 충분히 쌓으면 앙상블의 예측이 실제 값에 가까워집니다.

Gradient Boosting vs XGBoost vs LightGBM vs CatBoost

가장 흔한 입문 질문은 "그래서 XGBoost가 Gradient Boosting과 뭐가 다른가?"입니다. 핵심 알고리즘은 같고, XGBoost, LightGBM, CatBoost는 그 위에 다양한 성능 개선 기법이 추가된 발전된 구현입니다.

모델추가하는 것
Gradient Boosting (GBM)잔차에 나무를 적합하는 기본 알고리즘
XGBoost정규화, 병렬 처리, 내장 결측값 처리
LightGBM속도와 대용량 데이터에 강점
CatBoost범주형 변수를 자체적으로 잘 처리

넷 다 정형 데이터 대회에서 좋은 성과를 내고 실제 서비스에서도 널리 사용됩니다. 어느 것이 가장 좋은지는 실제 데이터로 성능을 비교해 확인하는 것이 중요합니다.

중요한 하이퍼파라미터

파라미터제어하는 것
n_estimators나무 개수
learning_rate한 번에 얼마나 수정할지
max_depth각 나무의 복잡도(3–6이 표준)
subsample나무당 사용하는 행의 비율
colsample_bytree나무당 사용하는 변수의 비율

Watch out

높은 학습률로 트리를 쌓으면 부스팅도 과적합될 수 있습니다. 작은 learning_rate를 큰 n_estimators, 그리고 검증 세트 기반의 조기 종료와 함께 사용하는 것이 좋습니다. 검증 오차가 더 이상 개선되지 않는 순간 학습을 종료합니다.

SKARI Model Lab의 부스팅 모델

어느 부스팅 모델이 가장 좋은지는 실제 데이터로 확인해야 하므로, SKARI의 Auto Compare가 별도의 코드 작성 없이 같은 데이터에 여러 모델을 학습해 성능을 비교합니다:

Logistic Regression  ->  Decision Tree  ->  Random Forest
      ->  XGBoost  ->  LightGBM  ->  CatBoost  ->  Auto Compare
  • 같은 검증 분할에서 더 단순한 기준 모델과 비교되는 부스팅 모델
  • 모든 모델의 특성 중요도와 검증 지표
  • 원할 때 튜닝 가능한 합리적 기본값

Takeaway

학습 파이프라인을 직접 구현하지 않고도 실제 성능을 비교해 대체로 가장 성능이 좋은 모델을 선택할 수 있습니다.

자주 묻는 질문

부스팅과 랜덤 포레스트 중?

부스팅이 대체로 더 정확하지만 튜닝에 민감하고, 랜덤포레스트는 하이퍼파라미터에 덜 민감합니다. 둘 다 시도해 보세요. SKARI로 간단히 비교할 수 있습니다.

왜 작은 학습률인가요?

작은 학습률은 앙상블을 점진적으로 교정해 일반화 성능이 더 좋습니다. 대신 더 많은 트리가 필요합니다.

부스팅에 스케일링이 필요한가요?

아니요. 모든 나무 모델처럼 임계값으로 나누므로 특성 척도에 영향받지 않습니다.

부스팅 모델의 예측을 어떻게 설명하나요?

특성 중요도는 전반적으로 어떤 변수가 중요한지 보여줍니다. 왜 데이터가 그렇게 예측되었는지와 같은 개별 예측을 설명하려면 SHAP 값이 널리 쓰이는 도구로, 예측을 특성별로 분해해 줍니다.

결론

그래디언트 부스팅은 여러 개의 약한 트리를 정형 데이터에서 가장 강력한 모델 중 하나로 만듭니다. 학습률을 작게 하고 조기에 멈추면 매우 높은 예측 성능을 얻을 수 있습니다.

Takeaway

각 트리가 이전 모델의 오차를 보완하고, 수백 번의 작은 교정이 쌓여 매우 강력한 모델이 됩니다.

의사결정나무 완벽 이해

부스팅의 구성 요소

하이퍼파라미터 튜닝

학습률과 깊이 조정

교차검증

부스팅 모델의 성능을 신뢰성 있게 평가