[Home] AI로 돌아가기

앙상블 모델 (Ensemble Model)

앙상블 학습(ensemble learning)은 여러 기저 모델(base learner)의 예측을 결합하여 하나의 최종 예측을 만드는 기법이다. 모델마다 다른 오류를 내도록 다양성을 확보하고 이를 적절히 결합하면 단일 모델보다 일반화 성능과 안정성을 높일 수 있다.

[목차로 돌아가기]


(1) 앙상블의 개념

앙상블은 서로 다른 모델 또는 서로 다르게 학습된 같은 종류의 모델을 여러 개 만든 후, 이들의 예측값·예측 확률을 평균, 투표 또는 별도의 학습 모델로 결합한다. 개별 모델의 오류가 완전히 같은 방향으로 움직이지 않을 때 결합 효과가 커진다.

핵심 조건

기저 모델의 성능뿐 아니라 모델 간 다양성도 중요하다. 모든 모델이 같은 오류를 내면 여러 모델을 결합해도 오류가 충분히 상쇄되지 않는다.

[목차로 돌아가기]


(2) 앙상블의 주요 유형

배깅(Bagging)

부트스트랩 표본마다 모델을 독립적으로 학습한 뒤 평균 또는 투표한다. 주로 분산을 줄이는 데 효과적이다.
부스팅(Boosting)

앞선 모델이 충분히 설명하지 못한 표본이나 잔차에 초점을 맞춰 모델을 순차적으로 추가한다.
투표·평균(Voting/Averaging)

여러 모델의 클래스, 확률 또는 수치 예측을 정해진 규칙으로 직접 결합한다.
스태킹(Stacking)

기저 모델의 예측을 새로운 특성으로 사용하고, 메타 모델이 이 특성으로 최종 결합 규칙을 학습한다.

2.1 배깅과 랜덤 포레스트

배깅(bagging, bootstrap aggregating)은 원본 훈련 데이터에서 복원추출로 여러 부트스트랩 데이터셋을 만들고, 각 데이터셋에서 모델을 서로 독립적으로 학습한다. 회귀에서는 보통 예측값의 평균을, 분류에서는 다수결 또는 예측 확률의 평균을 사용한다.

원본 데이터
여러 부트스트랩 표본
독립적인 기저 모델
평균 또는 투표

랜덤 포레스트(random forest)는 배깅된 결정트리에 추가 무작위성을 부여한다. 각 노드에서 분할할 때 전체 특성이 아니라 무작위로 선택한 일부 특성만 후보로 검토한다. 이 과정은 트리 사이의 상관을 낮추어 앙상블의 분산 감소 효과를 높이는 데 도움을 준다.

2.2 OOB 평가

크기가 n인 데이터에서 n개를 복원추출해 부트스트랩 표본을 만들면 일부 관측값은 그 표본에 포함되지 않는다. 이들을 OOB(out-of-bag) 표본이라고 한다. 표본 수가 충분히 클 때 각 부트스트랩 표본에서 제외되는 관측값의 기대 비율은 약 36.8%이고, 한 번 이상 포함되는 고유 관측값의 기대 비율은 약 63.2%이다.

각 관측값은 자신이 학습에 포함되지 않은 트리들의 예측만 모아 평가할 수 있다. 따라서 랜덤 포레스트와 같은 배깅 모델에서는 별도의 검증 세트를 떼지 않고도 OOB 오차로 일반화 성능을 추정할 수 있다. 다만 OOB 평가는 완전히 독립된 최종 테스트 세트를 대체하는 것은 아니며, 작은 데이터나 조정이 많은 경우에는 불확실성이 커질 수 있다.

2.3 스태킹과 투표의 차이

스태킹에서는 여러 기저 모델의 예측값 또는 예측 확률을 메타 모델(meta learner)의 입력 특성으로 사용한다. 메타 모델은 어떤 기저 모델을 어느 상황에서 얼마나 신뢰할지를 데이터로부터 학습한다.

기저 모델 A의 예측
기저 모델 B의 예측
기저 모델 C의 예측
메타 모델의 최종 예측

메타 모델을 학습할 때 기저 모델이 이미 학습에 사용한 같은 표본에 대한 예측을 그대로 입력하면 데이터 누수가 발생할 수 있다. 이를 막기 위해 일반적으로 교차검증에서 얻은 OOF(out-of-fold) 예측으로 메타 모델을 학습한다.

스태킹과 하드 투표는 다르다.

하드 투표는 각 모델이 선택한 클래스를 단순 다수결로 결합한다. 반면 스태킹은 기저 모델의 예측을 입력으로 받아 메타 모델이 결합 규칙을 학습한다. 따라서 스태킹이 항상 단순 다수결만 사용한다는 설명은 옳지 않다.

[목차로 돌아가기]


(3) 방법별 비교

방법모델 학습 관계결합 방식대표 목적
배깅병렬·독립평균 또는 투표분산 감소
랜덤 포레스트배깅된 트리 + 특성 무작위 선택평균 또는 투표트리 간 상관 및 분산 감소
부스팅순차적가중 결합편향 감소와 예측력 향상
하드 투표병렬예측 클래스의 다수결단순하고 안정적인 결합
소프트 투표병렬예측 확률의 평균·가중평균확률 정보를 반영한 결합
스태킹기저 모델 후 메타 모델학습된 메타 모델기저 예측의 비선형·상황별 결합

[목차로 돌아가기]


(4) 확인 문제

앙상블(ensemble) 학습 기법에 대한 설명으로 옳지 않은 것은?
① 배깅은 부트스트랩 샘플링으로 여러 모델을 병렬적으로 독립 학습시킨 뒤 결과를 집계한다.
② 랜덤 포레스트는 배깅에 특성의 무작위 선택을 추가한 기법이다.
③ 배깅에서 OOB 표본을 이용하면 별도의 검증 세트 없이 일반화 성능을 추정할 수 있다.
④ 스태킹은 여러 기저 모델의 예측을 메타 모델의 입력으로 사용하지 않고, 항상 단순 다수결로만 최종 예측을 결정한다.
정답 ④

①은 배깅, ②는 랜덤 포레스트, ③은 OOB 평가에 대한 올바른 설명이다. ④에서 설명한 방식은 하드 투표에 해당한다. 스태킹은 기저 모델의 예측값이나 예측 확률을 새로운 입력 특성으로 삼아 메타 모델이 최종 결합 규칙을 학습한다.

[목차로 돌아가기]


(5) 장점과 주의사항

5.1 장점

5.2 주의사항

[목차로 돌아가기]


(6) 대표적인 앙상블 알고리즘