앙상블 기법은 머신러닝에서 여러 개의 단순한 모델(Weak Learner 또는 Base Model)을 생성하고, 이들의 예측을 결합하여 하나의 강력하고 정확한 최종 모델(Strong Learner)을 구축하는 방법론입니다. 단일 알고리즘이 가질 수 있는 편향(Bias)이나 분산(Variance)에 따른 오류를 최소화하고, 전반적인 예측 성능과 새로운 데이터에 대한 일반화(Generalization) 능력을 높이는 것이 핵심 목적입니다.

이 중 여러 개의 약한 학습기(Weak Learner)를 결합하여 하나의 강력한 예측 모델(Strong Learner)을 만드는 앙상블 학습의 핵심 방법론인 Bagging과 Boosting에 대해 알아보겠습니다.

1. 배깅 (Bagging, Bootstrap Aggregating)
동작 원리
배깅은 전체 원본 데이터셋에서 중복을 허용하여 무작위로 여러 개의 데이터 부분집합(Bootstrap)을 추출합니다. 이후 각각의 데이터셋에 대해 독립적인 모델을 병렬적으로 학습시킨 뒤, 그 결과들을 집계(Aggregating)하여 최종 예측을 수행합니다.

- 분류(Classification) 문제: 개별 모델의 결과를 모아 다수결 투표(Voting)로 최종 결과 결정
- 회귀(Regression) 문제: 개별 모델이 예측한 결과값들의 평균(Average)을 계산
주요 특징
- 분산(Variance) 감소: 개별 모델이 가질 수 있는 과적합(Overfitting)을 방지하고 모델의 전반적인 안정성을 높이는 데 탁월합니다.
- 병렬 처리 가능: 각 모델이 서로 독립적으로 학습되므로 병렬 연산이 가능하여 학습 속도가 빠릅니다.
- 대표 알고리즘: 랜덤 포레스트(Random Forest)
구체적인 예시
복잡한 희귀병을 진단해야 할 때, 10명의 의사가 전체 환자 진료 기록 중 각기 다른 무작위 기록 일부만 확인하여 독립적으로 진단을 내립니다. 이후 가장 많은 의사가 선택한 병명을 최종 진단으로 결정하는 다수결의 원리와 같습니다.

2. 부스팅 (Boosting)
동작 원리
부스팅은 여러 모델을 순차적(Sequential)으로 학습시킵니다. 첫 번째 모델이 학습한 후 예측에 실패한(오분류된) 데이터에 더 높은 가중치(Weight)를 부여합니다. 두 번째 모델은 이 가중치가 반영된 데이터를 바탕으로 이전 모델이 틀렸던 오답 문제에 집중하여 학습합니다. 이 과정을 반복하며 모델의 약점을 지속적으로 보완합니다.

주요 특징
- 편향(Bias) 감소: 오답에 집중하여 모델의 예측 성능과 정확도를 극대화하는 것이 주된 목적입니다.
- 순차 처리 (병렬 처리 불가): 이전 모델의 결과가 다음 모델에 반드시 필요하므로 병렬 처리가 불가능하며, 배깅에 비해 학습 시간이 오래 걸립니다.
- 과적합(Overfitting) 주의: 학습 데이터의 오답에 계속해서 맞추려고 노력하기 때문에, 데이터에 노이즈(이상치)가 많을 경우 과적합에 빠질 위험이 배깅보다 높습니다.
- 대표 알고리즘: AdaBoost, Gradient Boosting Machine (GBM), XGBoost, LightGBM
구체적인 예시
수학 시험 공부를 할 때, 첫 번째 모의고사를 푼 뒤 틀린 문제(오답)의 유형만 집중적으로 다시 공부합니다. 그 후 두 번째 모의고사를 보고 또 틀린 문제에 가중치를 두어 집중 학습하는 과정을 반복하여 전체적인 성적을 끌어올리는 방식입니다.

3. 배깅과 부스팅의 핵심 비교
복잡한 두 개념의 차이를 표로 요약하면 다음과 같습니다.
| 구분 | 배깅 (Bagging) | 부스팅 (Boosting) |
| 학습 방식 | 독립적, 병렬적 (Parallel) | 의존적, 순차적 (Sequential) |
| 데이터 샘플링 | 무작위 복원 추출 (Bootstrap) | 오답에 가중치를 부여한 추출 |
| 주요 목적 | 모델의 안정성 확보 (분산 감소)![]() |
모델의 정확도 향상 (편향 감소)![]() |
| 과적합 위험 | 낮음 (과적합 방지에 효과적) | 높음 (노이즈 데이터에 민감) |
| 최종 결과 도출 | 동등한 가중치의 다수결 또는 평균 | 성능이 좋은 모델에 더 높은 가중치 부여 |
| 대표 알고리즘 | Random Forest | XGBoost, LightGBM, AdaBoost |

'딥러닝' 카테고리의 다른 글
| 트랜스포머(Transformer) (0) | 2026.02.19 |
|---|---|
| LangChain(랭체인) (0) | 2026.02.19 |
| 경사하강법 고급 최적화 알고리즘(Optimizer) (0) | 2026.02.19 |
| 고급 경사하강법 (BGS, SGD, MSGD) (0) | 2026.02.18 |
| 경사하강법 (Gradient Descent) (0) | 2026.02.18 |

