부스팅(Boosting) 정리: AdaBoost부터 XGBoost/LightGBM/CatBoost까지
머신러닝에서 부스팅(Boosting)은 여러 약한 학습기(weak learner)를 순차적으로 학습시켜 하나의 강한 학습기(strong learner)를 만드는 앙상블 기법입니다.
핵심은 이전 모델의 실수를 다음 모델이 보완하면서 성능을 점진적으로 끌어올리는 데 있습니다.
배깅(Bagging)이 병렬 학습으로 분산을 낮추는 데 강하다면, 부스팅은 오차 보정 중심의 순차 학습으로 높은 예측력을 얻는 데 강합니다.
1. AdaBoost (Adaptive Boosting)
초기 대표 부스팅 알고리즘입니다.
특징:
- 이전 학습기가 틀린 샘플에 더 큰 가중치를 부여
- 다음 학습기가 어려운 샘플에 집중하도록 유도
- 보통 깊이 1의 결정트리(stump)를 약한 학습기로 사용
- 지수 손실(exponential loss) 기반
장점:
- 약한 학습기 여러 개 결합으로 정확도 향상
- 비교적 단순하고 빠르게 성능 개선 가능
2. 발전된 부스팅 계열 (GBM 기반)
AdaBoost 이후에는 잔차(Residual)를 직접 학습하는 그래디언트 부스팅 계열이 주류가 되었습니다.
XGBoost (Extreme Gradient Boosting)
특징:
- 경사 부스팅 + 다양한 최적화 기법
- 컬럼 샘플링으로 과적합 완화와 속도 개선
- 결측치 처리 기능이 강한 트리 기반 모델
장점:
- 분류/회귀 모두 높은 성능
- 실전 대회/산업 환경에서 검증됨
단점:
- 고차원/대용량 설정에서 계산 부담이 커질 수 있음
LightGBM (Light Gradient Boosting Machine)
특징:
- GBM 계열 경량화
- 속도와 메모리 효율에 강점
장점:
- 빠른 학습 + 높은 성능
- 대규모 데이터에 유리
CatBoost (Categorical Boosting)
특징:
- 범주형 피처 처리에 최적화
장점:
- 범주형 데이터 비중이 높은 문제에서 강력
- 전처리 부담을 줄이는 데 유리
3. 기타 부스팅 관련 모델
- Histogram-based Gradient Boosting (HGB): 히스토그램 기반 분할로 속도 최적화
- GBDT (Gradient Boosted Decision Trees): 잔차를 순차 학습하는 일반적 부스팅 틀
- Extra Trees 계열 결합 방식: 무작위성을 섞어 다양성/일반화 개선을 시도하는 접근
4. 정리
부스팅은 다음 특성으로 요약할 수 있습니다.
- 오차/잔차 중심의 순차 학습
- 약한 학습기를 강한 모델로 결합
- 일반적으로 매우 높은 예측 성능
- 데이터/문제 특성에 따라 AdaBoost, XGBoost, LightGBM, CatBoost를 선택
결론적으로, 부스팅은 실무에서 성능을 끌어올릴 때 가장 강력한 선택지 중 하나입니다.