카테고리 없음

Ensembles: Bagging, Boosting

나미-IT 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