본문 바로가기

Machine learning

[앙상블] Bagging과 Boosting

Bagging

머신러닝 모델의 앙상블 방법인 배깅에 대해 소개하려고 한다.

 

Framework of bagging

Raw data와 동일한 사이즈의 sample을 복원 추출하여, n번의 예측을 하고 투표나 평균 방식을 취해 최종 예측값을 도출하는 과정을 말한다. 배깅을 통해 모델의 bias와 variance를 줄일 수 있다. 

Random Forest

랜덤 포레스트는 트리 구조 기반의 대표적인 배깅 모델이다.

 

Bootstrapped Dataset

원래 데이터 셋에서 복원 추출하여 원래의 데이터 셋과 똑같은 크기의 Bootstrapped dataset을 만든다.

Tree correlation

트리 구조의 bagging의 문제점?
예측에 가장 큰 영향을 끼친 변수가 포함되어 있으면, 그 변수로 가지치기를 시작하기 때문에 모델이 다 비슷해진다는 문제가 있다. 이를 Tree correlation 문제 라고한다. 이를 해결하기 위해 random vector method를 통해 변수도 random sample을 해주어 모델의 다양성을 보존한다. (각각의 분기점마다 랜덤한 변수를 정하여 해당 변수만 후보로 본다. 보통, 컬럼개수의 제곱근으로 설정하고 조정한다.)

Estimated Error Rate

각 bootstrap iteration에 포함이 안되었던 데이터를 Out-Of-Bag (OOB) 데이터라고 한다. Test set이 따로 없어도 이 OOB 데이터들의 Error를 통해 모델의 정확를 추정해 볼 수 있다.

Variable Importance

각각의 OOB 데이터에서 피처 하나씩 무작위로 섞어버린다(Permutation 방식이라고도 함). 그리고 무작위로 섞었을 때와 원래의 성능의 차이를 확인 후, 성능에 크게 기여를 하는 피처가 어떤 피처인지 중요도를 뽑아볼 수 있다.

 

Boosting

각각의 학습과 예측이 독립적인 Bagging과 달리 Boosting은 이전의 학습이 다음의 학습에 영향을 미친다.

 

Framework of Boosting

 

위의 부스팅 과정을 보면, 틀린 데이터가 다음 학습 시, 더 많은 가중치로 많이 포함되어 학습에 반영되는 것을 알 수있다.

이 과정을 n번 반복 후에 각 Model 1, Model 2,... 의 예측값을 투표해서 최종 예측값을 결정한다. 

 

 

대표적인 부스팅 모델과 그 특징

 

부스팅 모델은 위와 같이 AdaBoost를 시작으로 Gradient Boosting Machine(GBM), GBM의 개선 모델인 XGBoost와 LightGBM 등이 있다.

'Machine learning' 카테고리의 다른 글

[부스팅 모델] AdaBoost  (1) 2024.02.12
Gradient Descent 쉽게 이해하기  (0) 2023.11.06
Bias and Variance 쉽게 이해하기  (0) 2023.10.28