← 일백제ADsP 개념서
← 개념서모바일 버전
3과목 · 데이터 분석·9

앙상블

앙상블 학습의 원리, 배깅·부스팅·스태킹, 랜덤 포레스트, AdaBoost·GBM·XGBoost의 차이를 정리합니다.

1. 앙상블이란

앙상블(Ensemble) 은 여러 모델의 예측을 결합해 단일 모델보다 나은 성능을 얻는 기법.

  • 약한 학습기(weak learner)의 집합으로 강한 학습기 구성
  • 편향·분산 둘 다 개선 가능

2. 앙상블 3가지 유형

유형 방식 대표
배깅(Bagging) 병렬, 데이터 샘플링 랜덤 포레스트
부스팅(Boosting) 순차, 오류에 가중 AdaBoost, GBM, XGBoost
스태킹(Stacking) 다른 모델 결과를 메타 학습 Blending

3. 배깅 (Bootstrap Aggregating)

3-1. 과정

  1. 원본에서 부트스트랩 샘플(복원추출) 생성
  2. 각 샘플에 모델 학습
  3. 결과 결합(투표·평균)

3-2. 효과

  • 분산 감소
  • 과적합 잘 잡힘
  • 병렬 처리 가능

3-3. 랜덤 포레스트(Random Forest)

  • 배깅 + 특성 무작위 선택
  • 각 트리 분할 시 일부 특성만 사용
  • 트리 간 상관 낮춤 → 더 강한 앙상블
  • 변수 중요도 제공

4. 부스팅

4-1. 개념

  • 순차적으로 학습기 추가
  • 이전 학습기의 오류에 가중치 증가
  • 편향·분산 둘 다 개선

4-2. AdaBoost

  • 오분류된 샘플에 가중치 증가
  • 약한 학습기(깊이 1 트리, stump) 중심

4-3. GBM(Gradient Boosting Machine)

  • 잔차(gradient) 를 따라 모델 추가
  • 손실함수 최적화
  • 회귀·분류 모두 가능

4-4. XGBoost / LightGBM / CatBoost

알고리즘 특징
XGBoost 정규화·병렬·결측 처리, 대회 1위 단골
LightGBM 리프 우선(leaf-wise), 빠름, 큰 데이터
CatBoost 범주형 특성 자동 처리

5. 스태킹

[Base Models] → 각자 예측 → [Meta Model] → 최종 예측
  • 이질적 모델 결합(랜덤포레스트 + 로지스틱 + KNN)
  • 데이터 누수 방지 위해 교차검증 사용

6. 배깅 vs 부스팅 비교

배깅 부스팅
방식 병렬 순차
샘플링 독립 부트스트랩 가중치 업데이트
초점 분산 감소 편향 감소
속도 빠름 상대적 느림
과적합 적음 주의 필요

7. 변수 중요도 해석

7-1. 랜덤 포레스트

  • 분할 시 지니 감소 합
  • Permutation Importance: 값 섞어서 성능 감소 관찰

7-2. SHAP 값

  • 각 특성의 기여도를 게임이론적으로 분해
  • 전역·지역 해석

8. 하이퍼파라미터 팁

랜덤 포레스트

  • n_estimators: 100~500
  • max_features: sqrt(분류), 1/3(회귀)
  • max_depth: None(기본) + min_samples_leaf

XGBoost

  • learning_rate: 0.01~0.3
  • max_depth: 3~8
  • n_estimators + early_stopping

9. 실제 예

from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(n_estimators=300, max_depth=10)
rf.fit(X_train, y_train)

from xgboost import XGBClassifier
xgb = XGBClassifier(n_estimators=500, learning_rate=0.05, max_depth=6)
xgb.fit(X_train, y_train, eval_set=[(X_val, y_val)], early_stopping_rounds=20)

10. 출제 포인트

  • 배깅·부스팅·스태킹 차이
  • 랜덤 포레스트가 배깅 + 특성 샘플링인 이유
  • AdaBoost vs GBM
  • XGBoost·LightGBM 특징
  • 변수 중요도 해석

요약 체크리스트

  • 앙상블 3유형을 구분
  • 배깅 vs 부스팅 비교표
  • 랜덤 포레스트 핵심 아이디어
  • 부스팅 알고리즘 3종(AdaBoost/GBM/XGBoost) 이름