앙상블 기법(Ensemble) 완전 정리_ADsP 3과목

🤝 앙상블 기법(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은 다양성을 책임지는 집단지성 모델입니다 🤝🌳🚀