앙상블 Bagging과 Boosting
설명 영상 앙상블 Bagging과 Boosting · 2:48
영상 페이지에서 보기: 앙상블 Bagging과 Boosting
왜 배우는가: 앙상블 학습은 단일 모형의 과적합과 불안정성을 줄이는 대표 기법으로, 실무 예측 모델 대부분이 Bagging이나 Boosting 계열을 채택한다. 기술사 시험에서도 두 방식의 원리 차이와 대표 알고리즘을 비교하는 문제로 반복해 출제된다.
출제 이력: 제126회 3교시 4번, 제120회 3교시 3번
1. 한 줄 정의와 핵심 키워드
앙상블 학습은 여러 학습기의 예측을 결합해 단일 모형보다 일반화 성능을 높이는 기법이며, Bagging은 병렬 학습으로 분산을, Boosting은 순차 학습으로 편향을 줄이는 방법이다.
- 앙상블 학습(Ensemble Learning)
- 약한 학습기(Weak Learner)
- Bagging(Bootstrap Aggregating)
- Boosting
- 부트스트랩(Bootstrap)
- 분산(Variance)과 편향(Bias)
- OOB(Out-of-Bag)
2. 개념 풀이
쉽게 말하면 여러 명의 전문가에게 같은 문제를 물어 다수의 의견을 모으는 것과 같다. 한 명의 판단은 틀릴 수 있지만 여러 판단을 적절히 합치면 오답 확률이 줄어든다. 앙상블 학습은 이 원리를 모형에 적용한 것이다.
정식 정의는 다음과 같다. 앙상블 학습은 여러 학습 알고리즘 또는 여러 학습기를 사용해 개별 학습기보다 높은 예측 성능을 얻는 방법이며, 결합 방식에 따라 Bagging, Boosting, Stacking으로 구분된다.
Bagging은 원본 데이터에서 복원추출한 부트스트랩 표본으로 학습기를 독립적으로 병렬 학습하고, 분류는 다수결, 회귀는 평균으로 결합하는 방법이다. 복원추출이므로 한 표본은 어떤 예제를 0번, 1번, 여러 번 포함할 수 있다. 학습에 쓰이지 않은 예제는 OOB 표본이 되어 별도 검증에 쓰인다.
Boosting은 이전 학습기가 틀린 예제에 더 큰 가중치를 두어 다음 학습기가 그 예제에 집중하도록 순차적으로 학습하는 방법이다. 최종 예측은 학습기별 가중합으로 만든다. 약한 학습기를 반복 결합해 강한 학습기를 만든다는 점이 핵심이다.
약한 학습기(Weak Learner)는 무작위 추측보다 조금 나은 성능의 단순 모형이며, 결정 그루터기(Decision Stump)가 대표적이다.
3. 등장 배경과 필요성
단일 결정트리는 학습 데이터의 작은 변화에도 구조가 크게 달라지는 고분산 모형이다. 깊게 학습하면 훈련 데이터에는 잘 맞지만 검증·시험 데이터에서 성능이 떨어지는 과적합이 생긴다. 앙상블은 여러 모형의 오차를 상쇄해 이 약점을 보완하려고 등장했다.
결정트리 계열 앙상블이 주목받으면서 Bagging과 Boosting이 체계화되었다. 두 방식은 같은 문제를 다른 방향에서 푼다. Bagging은 학습 데이터의 변동에 따른 분산을 줄이고, Boosting은 모형이 체계적으로 놓치는 패턴인 편향을 줄인다. 실무에서 과적합이 문제인지 과소적합이 문제인지에 따라 방식을 고르는 근거가 여기서 나온다.
또한 여러 모형을 결합하면 단일 모형의 가정이 깨졌을 때 일부 모형이 보완하므로, 데이터 노이즈와 모형 선택의 불확실성에 대한 안정성이 높아진다. 다만 모형 수가 늘면 학습·추론 비용과 해석 난도가 함께 커지므로, 성능 이득과 운영 비용을 함께 따져야 한다.
4. 구성요소·원리·절차
앙상블 학습은 여러 학습기를 결합하는 구조이므로 구성요소를 먼저 나눠 이해해야 한다. 부트스트랩(Bootstrap) 샘플링, 학습기(Base Learner), 결합 규칙(Aggregation) 세 요소가 Bagging과 Boosting 모두에 공통으로 들어간다. 두 방식의 차이는 학습기를 병렬로 독립 학습하느냐, 순차로 이전 오류를 보정하며 학습하느냐에 있다.
| 구성요소 | Bagging | Boosting |
|---|---|---|
| 샘플링 | 복원추출 부트스트랩 | 전체 데이터, 샘플 가중치 조정 |
| 학습기 간 관계 | 독립(병렬) | 의존(순차) |
| 결합 규칙 | 다수결 투표·평균 | 가중합 |
| 줄이는 오차 | 분산(Variance) | 편향(Bias) |
표에서 보듯 두 방식은 샘플링 방법과 결합 방식이 다르다. 목표 오차도 분산과 편향으로 갈린다.
Bagging 원리. 원본 데이터에서 복원추출로 여러 부트스트랩 집합을 만든다. 한 샘플은 한 집합에 0번, 1번, 여러 번 들어갈 수 있다. 각 집합으로 학습기를 독립 학습시키고, 분류는 다수결, 회귀는 평균으로 결합한다. 학습 데이터의 작은 변화에 민감한 모형(예: 깊은 결정 트리)은 서로 다른 집합에서 다른 오류를 낸다. 이 오류들이 투표 과정에서 상쇄되어 전체 분산이 줄어든다. 이때 부트스트랩 집합에 들지 않은 샘플을 OOB(Out-of-Bag) 검증에 쓸 수 있다.
Boosting 원리. 모든 샘플에 같은 가중치로 시작한다. 첫 학습기가 틀린 샘플의 가중치를 키우고, 다음 학습기는 그 샘플에 더 집중한다. 이 과정을 반복하여 약한 학습기들을 강한 학습기로 만든다. 회귀형 Boosting(GBM)은 가중치 대신 이전 모형의 잔차(Residual) 또는 손실함수의 음의 그라디언트(Negative Gradient) 를 다음 학습기가 학습한다. 잔차를 줄이므로 편향이 감소한다.
Bagging 절차
- 원본 학습 데이터에서 복원추출로 B개의 부트스트랩 집합을 만든다.
- 각 집합으로 기본 학습기를 독립적으로 학습한다.
- 분류는 다수결, 회귀는 평균으로 예측을 결합한다.
- OOB 샘플로 일반화 오차를 추정한다.
Boosting 절차
- 모든 샘플에 초기 가중치 w_i = 1/N을 부여한다. N은 학습 샘플 수다.
- 현재 가중치로 약한 학습기 h_m(x)를 학습한다.
- 가중 오류율 \varepsilon_m을 계산하고 학습기 가중치 \alpha_m을 정한다.
- 틀린 샘플의 가중치를 키우고 전체 가중치를 재정규화한다.
- 지정한 반복 횟수 M까지 2~4를 반복하고, 최종 모형 H(x)=\mathrm{sign}(\sum_{m=1}^{M}\alpha_m h_m(x))를 쓴다.
AdaBoost 공식. 가중 오류율은 \varepsilon_m=\sum_i w_i^{(m)} I(y_i \ne h_m(x_i))이다. 학습기 가중치는 \alpha_m=\frac{1}{2}\ln\frac{1-\varepsilon_m}{\varepsilon_m}이다. 가중치 갱신은 w_i^{(m+1)} \propto w_i^{(m)}\exp(-\alpha_m y_i h_m(x_i))이다. y_i \in \{-1,+1\}은 정답 라벨, I(\cdot)은 조건이 참이면 1인 지시함수다.
Bagging 분산 감소 원리. 여러 모형의 평균 분산은 모형 간 상관과 개별 모형의 분산에 따라 달라진다. 모형이 서로 독립에 가까울수록 분산이 더 줄어든다. 이 점이 Random Forest가 특성 무작위 선택으로 모형 간 상관을 낮추는 이유다.
Bagging은 병렬·독립 학습으로 분산을 줄이고, Boosting은 순차 학습으로 편향을 줄인다.
5. 관련 법령·기준·표준
이 개념은 법령이나 고시의 적용 대상이 아니다. 따라서 조문이나 고시 번호를 기준으로 쓰는 항목은 없다. 대신 학습 방식과 설계에서 확인할 기준 파라미터가 있다. 아래 표는 교과서와 대표 구현체에서 널리 쓰는 설정값이다. 조문 번호는 없다.
| 항목 | 기준값·조건 | 적용 방식 |
|---|---|---|
| 부트스트랩 샘플 크기 | 원본과 같은 N개, 복원추출 | Bagging 표준 설정 |
| 부트스트랩 중복 비율 | 한 샘플이 집합에 들 확률 약 63.2% | 복원추출 기대값 |
| OOB 비율 | 집합에 들지 않는 샘플 | OOB 검증 |
| Random Forest 특성 선택 | 분류·회귀 설정에 따른 특성 수 | 분할 시 무작위 특성 수 |
| AdaBoost 학습률 | 기본 1.0 또는 0<\eta\le1 | 학습기 가중치 축소 |
| Boosting 가중치 초기값 | 모든 샘플 1/N | 첫 반복 |
| 약한 학습기 조건 | 오류율 0.5 미만 | AdaBoost 가중치 양수 조건 |
표의 값은 기준값이라기보다 설계 관행이다. Bagging 샘플 크기와 OOB 비율은 복원추출 조건에 따라 달라진다. 기대 중복률은 복원추출의 확률로 계산된다. 집합에 포함되지 않은 샘플은 OOB 표본으로 활용할 수 있다.
관련 구현 체계는 scikit-learn의 BaggingClassifier·BaggingRegressor, RandomForest, AdaBoost, GradientBoosting 계열이다. 법령 개정 사항은 없다. 개념 자체가 학습 알고리즘이므로 기준 이름이 바뀐 사례도 확인되지 않았다.
이어지는 내용
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기