데이터마이닝 06강 | 앙상블 모형 (배깅, 부스팅, 랜덤포레스트) 개념 완전 정리
이번 시간에는 머신러닝 모델의 예측력을 높이는 방법으로 많이 활용되는 앙상블(Ensemble) 모형을 정리해보겠습니다.
앙상블 기법은 여러 개의 모형을 결합하여 하나의 최종 예측값을 도출하는 방법으로, 데이터 분석 실무에서 가장 많이 쓰입니다.
앙상블 모형이란?
앙상블 모형은 여러 개의 서로 다른 분류기나 예측모형을 생성해
그 결과를 종합하여 하나의 최종 예측결과를 도출하는 방법입니다.
-
분류분석, 회귀분석 모두 가능
-
여러 모형을 종합할 때 보통
-
단순 다수결
-
가중 다수결
방식 사용
-
앙상블의 성공 조건
-
같은 모형만 쓰기보다 다양성 확보 중요
-
부트스트랩(bootstrap) 방식이나 의사결정나무의 분할방법에 변화를 주어 다양성을 확보
앙상블 모형의 종류
배깅 (Bagging)
Bagging = Bootstrap Aggregating
-
훈련데이터에서 B개의 부트스트랩 데이터 생성
-
각 데이터마다 분류기 생성
-
모든 분류기의 예측값을 다수결로 종합
👉 가지치기 없는 최대나무 사용이 효과적
👉 불안정한 모형일수록 예측력이 향상
부스팅 (Boosting)
Boosting = 성능 약한 모델을 조합해 강력한 모델
-
오분류된 데이터에 가중치 부여
-
반복적으로 분류기를 학습하면서 오분류 데이터를 줄이는 방식
-
대표 : 아다부스트(AdaBoost)
👉 각 단계마다 가중치를 반영해 학습
👉 최종 예측은 가중 다수결 방식
랜덤포레스트 (Random Forest)
-
배깅 + 입력변수 랜덤 선택
-
각 의사결정나무 생성 시 중간마디마다 전체 변수가 아닌 무작위 M개의 변수 중에서 분할
-
B개의 분류기를 다수결로 결합
👉 입력변수 개수가 많을수록 효과 극대화
👉 가지치기 없는 최대나무 사용 권장
배깅(Bagging), 부스팅(Boosting), 랜덤포레스트(Random Forest) 비교 정리
구분 | 배깅(Bagging) | 부스팅(Boosting) | 랜덤포레스트(Random Forest) |
---|---|---|---|
개념 | 같은 알고리즘으로 여러 모델 생성 → 평균/다수결 | 이전 모델의 오차를 보완하며 모델을 순차적으로 학습 | 배깅 기반, 각 트리에 변수도 랜덤하게 샘플링 |
학습 방식 | 데이터셋을 복원추출하여 여러 트리 병렬 학습 | 약한 모델들을 순차적으로 연결하여 학습 | 복원추출 + 변수 샘플링 후 트리 병렬 학습 |
목적 | 분산(variance) 감소 → 과적합 방지 | 편향(bias) 감소 → 예측력 향상 | 분산 감소 + 변수 랜덤 샘플링으로 성능 개선 |
트리 간 독립성 | 서로 독립 | 앞 모델에 의존 | 서로 독립 |
대표 알고리즘 | Random Forest | AdaBoost, Gradient Boosting | Random Forest |
변수 샘플링 | X | X | O (각 노드마다 변수 일부만 사용) |
장점 | 과적합에 강하고 계산 병렬화 쉬움 | 편향 줄여 예측력 높임 | 배깅 + 변수 랜덤 선택으로 성능↑ |
단점 | 편향은 줄이기 어려움 | 과적합 위험, 느린 학습 속도 | 트리 수가 많으면 속도 느림 |
적합한 상황 | 과적합 문제 많은 데이터 | 복잡하고 예측 성능 중요한 문제 | 변수 개수가 많고, 과적합 우려 데이터 |
중요내용 정리
-
앙상블은 여러 예측모형을 종합해 최종 결과 도출
-
배깅 : 부트스트랩 데이터 → 다수결
-
부스팅 : 가중치 부여 → 가중 다수결
-
랜덤포레스트 : 변수 랜덤 선택 + 배깅
-
데이터 다양성과 분류기의 다양성이 성능 좌우
객관식 문제 & 해설
Q1. 부스팅(Boosting) 모형에서 오분류 데이터의 처리방법은?
① 제외
② 가중치 부여
③ 복제
④ 무작위 추출
정답: ②
해설: 부스팅은 오분류된 데이터의 가중치를 높여 다음 단계에서 더 집중해 학습합니다.
Q2. 배깅(Bagging) 방법의 주요 특징은?
① 가중치 적용
② 부트스트랩 데이터 생성
③ 입력변수 랜덤 선택
④ 오분류율 최소화
정답: ②
해설: 배깅은 동일 데이터셋에서 부트스트랩 샘플을 뽑아 다수결 방식으로 예측합니다.
Q3. 랜덤포레스트(Random Forest) 모형의 설명으로 옳은 것은?
① 입력변수를 전부 활용
② 가지치기 필수
③ 입력변수를 무작위 선택
④ 가중치 부여
정답: ③
해설: 랜덤포레스트는 중간노드마다 임의로 M개의 변수를 선택해 분할합니다.