🤝 앙상블 기법(Ensemble) 완전 정리 💡
“여러 모델이 모이면 더 강해진다! 💪 — 집단지성 머신러닝의 핵심”
🎯 1️⃣ 앙상블이란?
앙상블(Ensemble)이란 여러 개의 모델(학습기)을
결합해 하나의 최종 예측 결과를 만드는 방법이에요!
💬 쉽게 말하면,
여러 명의 친구가 각각 답을 내고,
그걸 투표나 평균으로 합쳐서 더 정확한 답을 만드는 거예요 👏
📈 목적:
- 예측의 흔들림(분산) 줄이기
- 정확도(바이어스) 높이기
- 일반화 성능(새로운 데이터 적응력) 강화하기
🌳 2️⃣ Bagging (배깅) – “평행으로 다양화”
대표 모델: 랜덤포레스트(Random Forest) 🌲
🧠 핵심 개념:
같은 알고리즘을 여러 번 학습시키되,
매번 다른 데이터 샘플(부트스트랩) 로 모델을 만듭니다.
그 다음 결과를 평균(회귀) 또는 다수결(분류) 로 합쳐요 🎲
| 특징 | 설명 |
| 🪣 데이터 샘플링 | 훈련 데이터를 중복 허용해 랜덤 추출 |
| 🌳 모델 학습 | 여러 트리(Decision Tree)를 병렬로 학습 |
| ⚖️ 예측 | 회귀 → 평균 / 분류 → 다수결 |
| 🔎 검증 | OOB(Out-Of-Bag) 데이터로 내부 검증 가능 |
💡 장점: 과적합에 강하고 안정적
⚠️ 단점: 너무 많은 트리 → 계산량 증가
✨ 하이퍼파라미터 예시
- n_estimators: 트리 개수 (많을수록 안정)
- max_depth: 최대 깊이 (깊을수록 과적합)
- max_features: 분기 시 고려할 변수 수 (적으면 다양성↑)
🚀 3️⃣ Boosting (부스팅) – “순차로 보완하기”
대표 모델: XGBoost, LightGBM, CatBoost
🧩 핵심 개념:
이전 모델이 틀린 부분(오차)을 다음 모델이 보완해가며
점점 더 똑똑해지는 방식이에요 💪
| 개념 | 설명 |
| 🔁 순차 학습 | 첫 모델의 실수(잔차)를 다음 모델이 학습 |
| 🧮 가중치 조정 | 틀린 데이터에 가중치 ↑ |
| ⚙️ 최종 결합 | 모든 모델의 결과를 가중합 |
💡 대표 부스팅 모델
| 모델 | 특징 |
| ⚙️ XGBoost | 정규화·병렬처리로 정확도와 속도 균형 |
| 💡 LightGBM | 리프 중심 트리 성장으로 빠르고 대용량에 강함 |
| 🐱 CatBoost | 범주형 자동 처리! 튜닝이 쉬움 |
✨ 하이퍼파라미터 팁
- learning_rate: 작게(0.01~0.1) → 천천히 학습
- n_estimators: 많게 → 더 정교하게
- max_depth: 과적합 조절
- early_stopping: 조기 종료로 성능 안정화
💬 쉽게 비유하면?
“첫 번째 학생이 푼 문제를 두 번째 학생이 다시 보완하고,
세 번째 학생이 그걸 또 고쳐서 점점 정답에 가까워지는 과정이에요!”
🧱 4️⃣ Voting & Stacking – “다양한 모델의 합의”
🗳️ Voting (투표 방식)
- 여러 모델이 동시에 예측 → 다수결(분류) or 평균(회귀)
- 같은 알고리즘이 아니어도 OK!
- (예: 로지스틱 + SVM + 트리 조합)
| 종류 | 설명 |
| 🧍♂️ Hard Voting | 다수결 (가장 많이 나온 결과 채택) |
| 🤝 Soft Voting | 예측 확률 평균 (확률형 모델에 적합) |
🏗️ Stacking (스태킹)
- 여러 모델의 예측 결과를 새로운 “입력 변수”로 사용
- 그걸 다시 메타 모델이 학습해 최종 예측을 만듭니다 ✨
💡 예시
1단계: 로지스틱, 트리, SVM 예측 결과를 쌓고
2단계: 메타모델(보통 로지스틱 회귀)이 최종 결합
⚠️ 주의:
- 데이터 누수 방지 → 교차검증(OOF 예측) 필수!
- 구조가 복잡하므로 실무에서는 주로 대회나 고성능 모델에서 사용
📊 5️⃣ 앙상블 비교표 한눈에 👀
| 기법 | 방식 | 대표모델 | 장점 | 단점 |
| 🌳 Bagging | 병렬 | Random Forest | 안정적, 과적합 적음 | 느릴 수 있음 |
| 🚀 Boosting | 순차 | XGBoost, LightGBM | 정확도 높음 | 튜닝 어렵고 느림 |
| 🗳️ Voting | 병렬 | 다양한 모델 조합 | 구현 간단 | 다양성 필요 |
| 🏗️ Stacking | 메타 | 메타모델 결합 | 성능 높음 | 구조 복잡 |
🧾 6️⃣ ADsP 시험 핵심 포인트 ✍️
✅ Bagging → “병렬”, “분산 감소”, “OOB 검증 가능”
✅ Boosting → “순차 학습”, “잔차 보정”, “바이어스 감소”
✅ Voting → “Hard/Soft 방식 차이 기억!”
✅ Stacking → “OOF 예측으로 메타 학습”
✅ 랜덤포레스트 → Bagging + 특성 랜덤 선택
✅ LightGBM/CatBoost → Boosting 계열 최신 모델
✅ 평가지표 → 분류(F1/ROC-AUC), 회귀(RMSE, R²)
🌈 한 줄 정리
🎯 앙상블 = 모델들의 팀플레이!
혼자보다 함께할 때 더 정확해지고 안정적이에요 💪
Bagging은 안정성, Boosting은 정확도,
Voting/Stacking은 다양성을 책임지는 집단지성 모델입니다 🤝🌳🚀