Ensemble
Ensemble method는 예측 성능의 향상을 위해 사용된다..
Ensemble의 기본적인 원칙은 기본 모델(some model)을 설정하고 그것의 linear combination을 하는 것이다.
d차원 input을 이용해 실수값을 예측하는 문제를 가정하자.
위와 같이 M 개의 모델들을 형성한 이후
개별 모델의 weighted sum 형태로 Ensemble 예측 모델을 만든다.
bagging과 boosting은 모델의 성능을 향상시키는 방법 중 하나라는 점에서는 공통점이 있지만 근본적으로는 매우 큰 차이를 갖고 있다.
- bagging : variance를 감소시키는 역할
- boosting : bias를 감소시키는 역할
Bagging (bootstrap aggregating)
- 데이터로부터 복원추출을 통해 n개의 bootstrap sample 생성.
- 해당 sample에 대해서 모델 학습.
- 1, 2 과정을 M번 반복한 후 최종 Bagging 모델을 다음과 같이 정의
Bagging 자체는 적용이 매우 쉬운 방법이라 어느 기본 모델에도 적용이 가능하다.
따라서, 가장 많이 쓰이는 Random Forest에 대해서만 다뤄도 좋을 거 같다!
- Random Forest
Boosting
- weak learner를 생성한 후 Error를 계산.
- Error에 기여한 Sample마다 다른 가중치를 주고 해당 Error를 감소시키는 새로운 모델 학습.
- 1. ~2. 과정을 M번 반복한 후 최종 Boosting model을 다음과 같이 정의.
Bagging과 같이 병렬적인 Ensemble 방법이 아니다.
Boosting은 순차적인 Ensemble 기법으로 c_k가 Sample Weight과 이전에 학습된 모델인
에 의해 조절되는 특성을 지닌다.
더욱 자세한 내용은 아래의 링크들을 보자!
- AdaBoost (Adaptive Boost)
- Gradient Boost
- XGBoost
- light GBM
Reference
[1] Gentle, James E., Wolfgang Karl Härdle, and Yuichi Mori, eds. Handbook of computational statistics: concepts and methods. Springer Science & Business Media, 2012.
[2] https://quantdare.com/what-is-the-difference-between-bagging-and-boosting/