본문 바로가기
#02.천재교육 빅데이터/+06.머신러닝 기초

[천재교육] 앙상블학습 - 보팅, 배깅(랜덤포레스트), 부스팅, 스태깅

by 돌비오 2023. 3. 15.
728x90
앙상블

앙상블 학습이란?


여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법
- 강력한 하나의 모델을 사용하는 대신 약한 모델 여러 개를 조합하여 더 정확한 예측에 도움을 주는 방식

 

 

 

 

앙상블 학습의 핵심은 편향과 분산을 줄인 모델을 구현하는 것


- 편향(Bias) : 예측값과 정답이 떨어져 있는 정도.

                      정답에 대한 잘못된 가정으로부터 유발되며 편향이 크면 과소적합이 발생한다.


- 분산(Variance) : 입력 샘플의 작은 변동에 반응하는 정도.
                             정답에 대한 너무 복잡한 모델을 설정하는 경우 분산이 커지며, 분산이 크면 과대적합이 발생한다.

 

 

 

 


1. 보팅 (Voting)

 

- 여러 개의 분류기가 투표를 통해 최종 예측결과를 결정하는 방식
서로 다른 알고리즘을 여러 개 결합하여 사용

 

 

 

 

 

 

2. 배깅 (Bagging)

 

– Bootstrap Aggregation의 줄임말 (Bootstrap : 중복허용 리샘플링)

- 데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방법
모두 같은 유형의 알고리즘 기반의 분류기를 사용
- 예측값의 최빈값을 최종 예측값으로 선택
- 대표 배깅 방식 : 랜덤 포레스트 알고리즘

 

 

데이터를 샘플링 하게 되면 표본의 다양성을 많이 추가하게 되기 때문에, 분산이 줄어드는 효과를 가져옴.

 

 

2.1. 랜덤 포레스트 (random forest)

 

- 배깅 기법을 결정트리의 앙상블에 특화시킨 모델

 

 

3. 부스팅 (Boosting)

 

- 여러 개의 분류기가 순차적으로 학습을 진행
- 이전 분류기가 예측이 틀린 데이터에 대해 올바르게 예측할 수 있도록 

   다음 분류기에게 가중치를 부여하면서 학습과 예측을 진행
- 계속하여 분류기에게 가중치를 부스팅하며 학습을 진행하기에 부스팅 방식이라고 불림
- 순차적으로 학습하기에 배깅 방식과는 달리 훈련을 동시에 진행할 수 없으므로 훈련시간이 오래걸림

 

 

 

3.1. 에이다부스트 (AdaBoost)

 

 - 하나의 모델을 훈련시킨 후 잘못 예측된 샘플을 보다 강조하면서 해당모델을 다시 훈련시킨다.

 

 

3.2. 그래디언트 부스팅 (Gradient Boosting)

 

- 이전 모델의 예측에 오차가 있다면 그 오차를 보정하는 새로운 예측기를 새롭게 훈련시킨다.
- 에이다부스트 기법은 샘플의 가중치를 조정하는 반면,

  그래디언트 부스팅기법은 이전 예측기에 의해 생성된 잔차(residual error)에 대해 새로운 예측기를 학습시킨다.

 

 

4. 스태킹 (Stacking)

 

- 배깅방식의 응용
- 다수결을 이용하는 대신 여러 예측값을 학습데이터로 활용하는 예측기를 학습시킨다.

 

 

728x90