본문 바로가기
💻 CS/머신러닝

[ML] 앙상블(ensemble) 학습 알고리즘 종류와 개념

by Safetymo 2022. 11. 28.

앙상블, ensemble : 합창, 조화

 

앙상블은 여러 개의 분류기를 생성하고 예측을 결합해 더 정확한 예측을 하는 모델

ex) 대중의 지혜, 집단지성 : 무작위로 선택된 수천명이 전문가보다 나은 선택

 

앙상블 방법 : 보팅(voting), 배깅(bagging), 부스팅(boosting)

 

 

보팅(voting)

 

직접 투표 분류기 : 정확도 일정 이상인 여러 모델(종류)를 돌려서 가장 많이 선택된 클래스를 예측

-> hard voting = 다수결

 

큰 수의 법칙 : 랜덤 추측보다 조금 더 높은 성능의 약한 학습기(예측률이 낮은 학습기)라도 충분히 많은 경우 강한 학습기가 될 수 있다.

ex) 51% 약한 학습기로 100번 돌려서 맞춘게 다수가 될 확률, 10000번 돌려서 맞춘게 다수가 될 확률

-> 이항분포의 확률질량함수

 

 

soft voting = 개별 분류기의 예측 확률을 평균내어 확률이 가장 높은 클래스를 예측

-> 확률이 높은 투표에 비중을 두기 때문에 직접투표(hard)보다 성능이 높다.

-> 교차검증해서 속도가 느린편

 

 

배깅(bagging)

=Bootstraping + Aggregating 

 

<-> 페이스팅 : 중복을 허용 X

 

데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방식

 

obb : out of bag, 선택되지 않은 샘플들

-> 배깅은 중복을 허용한다(Bootstrap = True)

-> 샘플이 여러번 선택되거나, 한번도 안될 수도 있다.

-> 선택 안되는 샘플들로 모델을 평가할 수 있다.

-> 일반적으로 훈련 샘플의 63%만 샘플링된다.

 

배깅에서는 샘플뿐만 아니라 특성도 샘플링이 가능하다

-> 램덤 패치 방식 : 샘플과 특성 모두 샘플링

-> 랜덤 서브스페이스 방식 : 훈련 샘플 모두 사용(페이스팅) 후 특성을 샘플링

 

과적합 방지에 효과적

 

 

부스팅(boosting)

 

약한 학습기를 여러개 연결해 강한 학습기를 만드는 방식

 

에이다부스트(Adaboost) : 이전 예측기 보완 방식 = Adaptive + Boosting 

-> 앞 알고리즘이 잘 분류하지 못한 샘플의 가중치를 높임

-> 최종 분류기는 이전에 학습한 약한 분류기에 각각 가중치를 적용하고 조합해 학습을 진행

 

SAMME = 에이다부스트의 다중 클래스 방식 -> 클래스가 2개일 때는 에이다 부스트와 동일

 

그레디언트 부스트(Gradient Boost) : 에이다부스트처럼 반복바다 샘플 가중치를 수정하는 대신, 이전 예측기가 만든 잔여 오차에 새로운 예측기를 학습 => XGBoost, LightGBM, CatBoost 등이 있다.

 

 

+) 추가 방법

스태킹(stacking)

 

개별 모델이 예측한 데이터를 다시 훈련 데이터로 해 학습하는 방식

 

블랜더(또는 메타학습기) : 마지막 예측기

 

멀티레이어 스태킹 = 레이어(블랜더)를 서로 훈련에 사용

댓글