728x90
Boosting?
여러 개의 약한 Decision Tree를 조합해서 사용하는 Ensemble 기법 중 하나이다.
즉. 약한 예측 모형들의 학습 에러에 가중치를 두고. 순차적으로 다음 학습 모델에 반영하여
강한 예측모형을 만드는 것이다.
XGBoost란
- XGBoost는 Extreme Gradient Boosting의 약자.
- Boosting 기법을 이용하여 구현한 알고리즘은 Gradient Boost 가 대표적인데
- 이 알고리즘을 병렬 학습이 지원되도록 구현한 라이브러리가 XGBoost 이다.
- Regression. Classification 문제를 모두 지원하며. 성능과 자원 효율이 좋아서. 인기 있게 사용되는 알고리즘이다.
XG Boost의 장점.
- GBM대비빠른수행시간
병렬 처리로 학습. 분류 속도가 빠르다. - 과적합 규제 (Regularization)
표준 GBM 경우 과적합 규제기눙이 없으나. XGBoost는 자체에 과척합 규제 기능으로 강한 내구성 지닌다. - 분류와 회귀영역에서 뛰어난 예측 성능 발휘
즉. CART(Classification and regression tree) 앙상블 모델을 사용 - Early Stopping(조기 종료) 기능이 있음
- 다양한 옵션을 제공하며 Customizing이 용이하다.
XGBoost는 다수의 하이퍼파라미터가 존재하며. 다음 세가지 범주로 나뉜다.
일반파라미터
부스팅을 수행할 때 트리를 사용할지. 선형 모델을 사용할지 등울 고른다.
부스터파라미터
선택한 부스터에 따라서 적용할 수 있는 파라미터 종류가 다르다.
학습 과정 파라미터
학습 시나리오를 결정한다.
3 종류의 파라미터 셋팅
- 일반파라미터
booster [기본값 : gbtree]
어떤 부스터 구조를 쓸지 결정한다.
의사결정기반모형(gbtree). 선형모형(gblinear), dart가 있다. - n_jobs
XGBoost를 실행하는 데 사용되는 병렬 스레드 수
- verbosity [기본값 = 1]
유효한값은0(무음).1(경고).2(정보).3(디버그)
728x90
'Tensorflow' 카테고리의 다른 글
Transfer Learning / Fine Tuning (0) | 2021.03.12 |
---|---|
Model Checkpoint와 CSVLogger (0) | 2021.03.12 |
판다스 Date Time Index #일자 / 시간 데이터 처리법 (0) | 2021.03.04 |
타임시리즈 데이터 분석을 위한 Prophet (0) | 2021.03.04 |
이미지 데이터 제너레이터가 하는 역할과 코드 (0) | 2021.03.03 |