Programming Blog

앙상블(Ensemble) 학습 - 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 본문

빅데이터 분석/분석 기법

앙상블(Ensemble) 학습 - 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)

Go-ong 2020. 11. 12. 21:54

앙상블(Ensemble)

* 영문 뜻 : 조화 or 통일

보통 데이터를 예측할 때 하나의 모델을 사용한다.

하지만 앙상블 학습은 여러 모델을 사용하여 조화롭게 학습한 후, 예측 결과들을 결합하여 더 정확한 예측값을 구하는 학습 방법

또한, 여러 개의 의사 결정 트리를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법이다.

강력한 하나의 모델을 사용하는 대신 약한 모델(분류기, Classfier) 여러 개를 사용하여 예측 정확성에 더 도움을 주는 방식이다.

 

* 부트스트랩(bootstrap)은 random sampling을 적용하는 방법이다.

ex) 예측을 하기 위해 임의(랜덤)로 n개를 추출하여 평균 측정

중복을 허용한 복원 추출로 n개를 추출하여, 뽑은 n개의 평균 구하는 것을 m번 반복하여 수집하면 평균에 대한 분포를 구할 수 있고 수집된 평균값들로 표본 평균에 대한 신뢰 구간을 추정할 수 있다.

  • 배깅(Bagging, Bootstrap Aggregating) 알고리즘
    부트스트랩(Bootstrap)을 집계(Aggregating)하여 학습 데이터가 충분하지 않더라도 충분한 학습효과를 주어 높은 bias의 underfitting 문제나 높은 variance로 인한 과적합(overfitting) 문제를 해결할 수 있다. 데이터 샘플링(random sampling of Bootstrap)을 통해 모델을 학습시키고 결과를 집계한다.
    * 범주형(categorical) 데이터의 경우 투표로 집계되고, 연속형(continuous) 데이터의 경우 평균으로 집계된다
    * 대표적인 배깅 알고리즘 - 랜덤 포레스트 알고리즘
    * 분류기는 모두 같은 유형의 알고리즘을 사용
    * 과적합(overfitting) 방지에 효과적
  • 부스팅(Boosting)
    배깅 알고리즘과 비슷하지만 순차적으로 학습이 진행된다. 배깅은 각 분류기들이 학습시 상호영향을 주지 않는 상황에서 학습이 끝난 다음 결과를 종합하는 기법이지만, 부스팅은 이전 분류기의 학습 결과를 토대로 다음 분류기에 가중치를 부여하여 학습 데이터의 샘플 가중치를 조정해 학습을 진행하는 방법이다. 즉, 생성된 모델을 순차적으로 개선해 나가는 방향으로 학습을 진행한다.
    * 예측 성능이 뛰어나고 앙상블 학습을 주도
    * 배깅에 비해 성능은 좋지만, 속도가 느리고 과적합 발생 가능성이 있어 상황에 따라 적절하게 사용 권장
    * 부스팅 기법은 오답에 대해 높은 가중치를 부여해서 정확도가 높게 나타나지만, 이 때문에 outlier에 취약할 수 있다.
    * 대표적인 부스팅 기법 알고리즘 - XGBoost, AdaBoost, GradientBoost ...

 

'빅데이터 분석 > 분석 기법' 카테고리의 다른 글

선형 회귀 분석(Linear Regression)  (0) 2020.11.11
Comments