Artificial Intelligence/Machine Learning
[ML] XGBoost 개념
inee0727
2022. 8. 11. 16:59
- Boosting 이란?
- 여러 개의 약한 의사결정나무(Decision Tree)를 조합해서 사용하는 앙상블(Ensemble) 기법 중 하나
- 즉, 약한 예측 모형들의 학습 에러에 가중치를 두고, 순차적으로 다음 학습 모델에 반영하여 강한 예측모형을 만든다.
- XGBoost 란?
- XGBoost는 Extreme Gradient Boosting의 약자이다.
- Boosting 기법을 이용하여 구현한 알고리즘은 Gradient Boost 가 대표적
- 이 알고리즘을 병렬 학습이 지원되도록 구현한 라이브러리가 XGBoost 이다.
- Regression, Classification 문제를 모두 지원하며, 성능과 자원 효율이 좋아서, 인기 있게 사용되는 알고리즘 이다.
- XGBoost의 장점
[1] GBM 대비 빠른 수행시간
병렬 처리로 학습, 분류 속도가 빠르다.
[2] 과적합 규제(Regularization)
표준 GBM 경우 과적합 규제기능이 없으나, XGBoost는 자체에 과적합 규제 기능으로 강한 내구성 지닌다.
[3] 분류와 회귀 영역에서 뛰어난 예측 성능 발휘
즉, CART(Classification and regression tree) 앙상블 모델을 사용
[4] Early Stopping(조기 종료) 기능이 있음
다양한 옵션을 제공하며 Customizing이 용이하다.
[5] Missing Values
결측치를 내부적으로 처리해준다. 실제로 kaggle에 적용해보는 과정에서 편리함