앙상블(Ensemble)

이재관·2022년 1월 19일
0

Machine Learning

목록 보기
3/5

앙상블 학습
앙상블 학습을 통한 분류는 여러개의 분류기(Classifier)를 생성하고 결과를 예측함으로써 하나의 분류기를 사용했을 경우 보다 더 정확한 최종 예측을 도출하는 방법을 말한다.

이미지, 영상, 음성 등의 비정형 데이터에 대한 분류는 딥러닝의 성능이 뛰어나지만 대부분의 정형 데이터 분류 시에는 앙상블 모델이 뛰어난 성능을 보이고있다.

앙상블 모델의 대표적인 모델에는 랜덤 포레스트(Random Forest)와 그래디언트 부스팅(Gradient Boosting)이 있는데 성능도 좋고 사용하기 쉬우며 다양하게 활용이 가능하기 때문에 많이 사용된다.

최근에는 부스팅 계열의 알고리즘 중 'XGBoost','LightGBM'과 스태킹(Stacking)기반의 알고리즘의 사용 빈도가 높다.

앙상블 유형

1) 보팅(Voting):여러 개의 분류기를 사용하지만 각각의 분류기는 서로 다른 알고리즘을 활용하며 분류기 별로 예측한 결과값으로 투표를 통해 최종 예측값을 결정한다.
2) 배깅(Bagging):여러 개의 분류기를 사용한다는 점에서 보팅과 유사하지만 각 분류기에서 활용하는 알고리즘이 동일하다는 차이점과 분류기에 입력값으로 사용되는 데이터를 샘플링을 분류기마다 다르게 가져간다는 차이점을 가지고 있다.

  • 부트스트래핑(Bootstrapping): 표본 데이터(분류기 입력값)를 추출하는 방식으로 복원 추출 방식

3) 부스팅(Boosting): 여러 개의 분류기가 순차적으로 학습을 수행하되 앞에서 학습한 분류기의 예측이 틀린 값에 대해서 올바르게 예측할 수 있도록 가중치를 부여하면서 학습과 예측을 반복하는 방식이다. 예측 성능이 뛰어나 앙상블 학습을 주도하고 있으며 대표적으로 위에서 언급한 'XGBoost'와'LightGBM'이 있다.
4) 스태킹(Stacking): 여러 가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어 다른 모델의 입력값으로 사용하여 학습시켜 결과를 예측하는 방식이다.

보팅(Voting) 유형
여러 개의 각각 다른 분류기를 통해 최종 결과값을 투표로 예측하는 방식인 보팅에는 하드 보팅(Hard Voting)과 소프트 보팅(Soft Voting)이 있다.

1) 하드 보팅: 여러 개의 분류기에서 예측한 결과값 중 다수의 분류기에서 결정한 예측값을 최종 결과값으로 사용하는 방식이다.
2) 소프트 보팅: 분류기에서 예측한 레이블 별로(정답 값) 확률을 반환하여 그 값들을 모두 더하고 이를 평균을 통해 가장 확률이 높은 값을 최종 결과값으로 사용하는 방식이다.
일반적으로 소프트 보팅을 많이 사용함.

Random Forest
배깅의 대표적인 알고리즘으로 앙상블 알고리즘 중 비교적 수행 속도가 빠르며 결정 트리를 기반으로한 알고리즘이기 때문에 직관적으로 이해하기 쉽다는 장점이 있다.

여러 개의 결정 트리 분류기가 전체 데이터 세트에서 각각의 데이터를 샘플링해 개별적으로 학습을 수행한 뒤 최종적으로 모든 분류기가 보팅을 통해 최종 예측값을 결정한다.

  • 부트스트랩 방식: 통계학에서 여러 개의 작은 데이터 세트를 임의로 만들어 개별 평균의 분포도를 측정하는 등의 목적을 위한 샘플링 방식을 지칭하는 것으로 추출한 서브 데이터 세트의 크기는 전체 데이터 세트와 동일하지만 개별 데이터가 중첩된다.

GBM(Gradient Boosting Machine)
부스팅 알고리즘은 여러 개의 약한 학습기를 순차적으로 학습-예측하면서 잘못 예측한 값에 대해 가중치를 부여하여 오차를 줄여나가는 방식으로 에이다 부스트(Ada Boost)와 그래디언트 부스트가 있다.

에이다 부스트: 오류 데이터에 가중치를 부여하면서 부스팅을 수행한다.
그래디언트 부스트: 오류 데이터에 대한 가중치 업데이트 방식을 경사 하강법을 사용한다.

1) XGBoost(eXtra Gradient Boost)
GBM의 단점인 느린 수행 시간 및 과적합을 규제하지 못하는 문제 등을 해결한 방식으로 병렬 CPU 환경에서 병렬 학습이 가능해 기존 GBM보다 빠르게 학습이 가능하며 성능 또한 뛰어나 인기가 많은 알고리즘이다.
2) LightGBM
GBM에 비해 빠른 학습 수행 시간을 갖고있는 XGBoost보다도 빠른 학습 시간이 장점인 알고리즘으로 예측 성능 또한 XGBoost와 거의 차이가 없지만 10,000건 이하의 데이터에 적용할 경우 과적합이 발생하기 쉽다는 단점이 있다.

profile
안되면 될 때까지

0개의 댓글