본문 바로가기

AIML

GBM 과 XGBoost 정리

1. GBM (Gradient Boosting Machine)

GBM은 약한 학습기(주로 결정 트리)를 순차적으로 학습시켜 강한 학습기를 만드는 부스팅 알고리즘입니다.

  • 이전 모델의 잔차(residual)를 학습하여 성능을 개선합니다.
  • 손실 함수를 최소화하는 방향으로 학습을 진행합니다.
  • 과적합 방지를 위한 기본적인 정규화 기법을 사용합니다.

2. XGBoost (eXtreme Gradient Boosting)

XGBoost는 GBM을 기반으로 개발된 고성능 구현체로, 여러 가지 개선사항을 포함하고 있습니다.

  • 병렬 처리를 통해 학습 속도가 빠릅니다.
  • 더 강력한 정규화 기법(L1, L2)을 사용하여 과적합을 방지합니다.
  • 결측치 처리 기능이 내장되어 있습니다.
  • 다양한 목적 함수와 평가 지표를 지원합니다.

3. GBM과 XGBoost의 관계

XGBoost는 GBM의 개선된 버전이라고 볼 수 있습니다. 두 알고리즘의 관계는 다음과 같습니다.

  • 두 알고리즘 모두 그래디언트 부스팅 원리를 기반으로 합니다.
  • XGBoost는 GBM에 비해 일반적으로 더 높은 예측 성능을 보입니다.
  • XGBoost는 병렬 처리를 통해 GBM보다 훨씬 빠른 학습 속도를 제공합니다.
  • GBM은 기본적인 정규화 기법을 사용하지만, XGBoost는 더 강력한 L1, L2 정규화를 제공합니다.
  • XGBoost는 GBM에 비해 더 많은 하이퍼파라미터와 커스터마이징 옵션을 제공합니다.

4. 결론

XGBoost는 GBM의 기본 원리를 유지하면서 성능, 속도, 유연성 등 여러 측면에서 개선된 알고리즘입니다. 대부분의 경우 XGBoost가 GBM보다 우수한 성능을 보이지만, 문제의 특성과 데이터셋에 따라 적절한 알고리즘을 선택해야 합니다.