본문 바로가기

데이터사이언스/인공지능

(빅분기)앙상블(Ensemble)기법(보팅, 배깅, 부스팅)

앙상블은 여러 개의 개별모델(분류기)을 생성하고 그 예측을 조합함으로써 보다 정확한 최종 예측을 도출하는 기법

(weak classifier들을 결합하여 strong classifier를 만드는 것)

※ 앙상블을 상대적으로 약한 여러개의 머신러닝 알고리즘을 결합해 단일 분류기보다 신뢰성이 높은 예측값을 얻는 것을 목표로한다.

 

1. 보팅(Voting): 서로 다른 알고리즘을 가진 분류기를 결합하여 여러 개의 분류기가 투표를 통해 최종 예측결과 결정

 - 하드(Hard)보팅: 예측한 결과값들 중 다수의 분류기가 결정한 예측값을 최종 보팅 결과값으로 선정(다수결의 원칙)

 - 소프트(Soft)보팅: 분류기들의 레이블 값 결정 확률을 모두 더해 이를 평균내서 확률이 가장 높은 레이블 값을 최종 보팅 결과값으로 선정

 

2. 배깅(Bagging): 서로 같은 알고리즘을 이용한 분류기가 데이터 샘플링을 서로 다르게 가져가면서 학습을 수행해 보팅 수행

 - Bootstrap + Aggregation으로 샘플을 랜덤으로 여러번 뽑아서(Bootstrap) 각각 독립적인 모델로 만들고 각 모델을 학습시킨 다음 결과물을 집계(Aggregation)하는 방법

EX) A,B,C,D,E →[ [A,A,B,D,E], [A,B,B,D,D], [B,B,C,D,E], [A,C,D,D,E], ....] 

 - 각각의 모델이 독립적으로 학습(병렬학습)

 - 과대적합에 강함

 - Low Bias, High Variance 에 효과적

EX) RandomForest

 

 

3. 부스팅(Boosting): 여러개의 분류기가 순차적으로 학습을 수행하되, 예측이 틀린 데이터에 대해 올바르게 예측하도록 가중치를 부여하면서 학습과 예측을 진행

 - 이전 모델의 학습이 다음 모델의 학습에 영향을 미침(오답에 대해서는 높은 가중치 부여, 정답에 대해서는 낱은 가중치 부여)(순차적학습)

 - 오답에 더 집중할 수 있기 때문에 높은 정확도(과적합 가능성있음)

 - 이상치, 결측치에 취약

 - High Bias, Low Variance에 효과적

EX) Gradient Boost, XGBoost, LightGBM, AdaBoost

 

 

참고: http://itwiki.kr/w/앙상블_기법