-
Ensembles: Bagging, Boosting카테고리 없음 2021. 2. 18. 20:18
Bagging
= Bootstrap Aggregating
- 학습 데이터를 부트스트랩 샘플링을 이용하여 추출 후 개별 모델 학습
- Bootstrap 샘플링: N개의 샘플을 복원 추출로 N번 추출
- 대표적인 모델 : random forest
- N개의 데이터 중 어떤 데이터 하나가 선택되지 않을 확률

- 복원 추출로 N번 반복할 경우 이 데이터가 선택되지 않을 확률

- N이 충분히 크다면 이 데이터가 선택되지 않을 확률은 약 0.36
Bagging 원리
- N개의 샘플 데이터로 각각 N개의 모델을 만든다
- 각 모델별로 예측값을 낸 값을 투표or 평균해서 값을 예측한다
- 각 샘플 데이터에 포함되지 않은 샘플은 모델 성능 평가에 이용한다 : OOB(out-of-bag error)
- 샘플을 계속 추출하다보면 비슷한 데이터가 만들어질 확률이 증가한다
- 그러면 overfitting 발생할 가능성이 높아진다
- 이를 해결하기 위해 feature도 샘플링한다
Boosting
- 오분류된 샘플에 더 많은 가중치를 주어 학습하는 방식이다
- Bagging은 개별 모델들끼리 독립적이라고 할 수 있지만 Boosting은 sequential 하다.
- 대표 모델
Adaboost
Gradient Boosting
- xgboost
- lightGBM
- Catboost
