취뽀 기록

#열심히 살자 #취업 #공부

Python/[머신러닝]

[머신러닝] Boosting(부스팅) vs Bagging(배깅)

hyunnn_00 2023. 7. 27. 16:47

Bagging(Bootstrap Aggregating)

- 무작위 복원 샘플링(Bootstrap)을 통해 여러 개의 동일한 모델을 병렬적으로 학습하고 그 결과를 평균화하여 최종 예측을 수행하는 방법

- 각 모델은 원본 데이터에서 독립적인 부분 데이터셋을 생성하여 학습

 -> 이렇게하면 다양한 데이터를 이용하여 각 모델이 서로 다른 관점으로 학습하게 되어 다양성 증가

- 대표적인 Bagging 알고리즘으로는 랜덤 포레스트(Random Forest)가 있음

 

Boosting

- 약한 학습기를 순차적으로 학습하여 각 모델의 예측 결과에 가중치를 부여하여 최종 예측을 결합하는 방법

- 각 모델은 이전 모델의 오차를 보완하도록 학습되기 때문에 점점 더 강력한 모델이 생성됨

- Boosting은 가중치를 업데이트하면서 오류가 큰 데이터에 집중하여 학습하므로, 전체 데이터셋에 대하여 더 잘 일반화 할 수 있음

- 대표적인 Boosting 알고리즘으로는 AdaBoost(Adaptive Boosting), Gradient Boosting Machine(GBM), XGBoost, LightGBM 등이 있음

 

 


Bagging

- 병렬적으로 다수의 동일한 모델을 학습하여 예측을 평균화

- 다양한 데이터를 이용하여 모델의 다양성을 증가시키는데 초점을 둠

- 모델 간의 독립성을 가정하고 병렬적으로 학습

Boosting

- 순차적으로 약한 학습기를 학습하고 예측 결과에 가중치를 부여하여 결합

- 오류를 보완