# XGBoost (eXtreme Gradient Boosting) ## XGBoost 의 개념 - XGBoost? - GBM + 분산/병렬 처리 - 지도학습으로 변수(x)를 학습하여 정답(y)를 예측 - XGBoost가 지원하는 모델 - [[Binary classification]] - [[Multiclass classsification]] - [[Regression]] - [[Learning to Rank]] ## 지도학습 용어 - Model: 변수(x)로 정답(y)를 예측하는 함수 - $\theta$: 세타(가중치, 파라미터) - 학습을 통해 정답을 잘 예측하도록 조정 - Objective Function - 학습 데이터에 최적화된 파라미터를 찾는 함수 - [[Training Loss]] + [[Regularization]] - L: Training Loss (Loss Function) - $\Omega$: Regularization - 모델의 복잡도를 조절 (과적합 방지) ## XGBoost Parameters - referred from : https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/ - official website : http://xgboost.readthedocs.io/en/latest/parameter.html#general-parameters - XGBoost 저자 직강 : http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf - XGBoost란? : http://xgboost.readthedocs.io/en/latest/model.html - XGBoost의 선조격인 GBM(Gradient Boosting Machine)은 뭣? : https://www.analyticsvidhya.com/blog/2016/02/complete-guide-parameter-tuning-gradient-boosting-gbm-python/ 용어와 핵심 개념을 정리하자 - GBM (Gradient Boosting Machine) : Boosted Tree 여기 링크를 보며 감을 잡자 Gradient Boosting : 약한 앙상블 예측 문제(ex) decision tree)를 만들고, stage wise하게 boosting을 적용한다. - XGBoost는 supervised learning 문제를 해결하는데 사용한다. XGBoost는 Tree를 사용한 앙상블 부스팅 방법이다. CART라 불리는 트리 앙상블 모델을 구축하고 사용한다. (그림도 보고 싶다면 이곳으로 : http://xgboost.readthedocs.io/en/latest/model.html) - CART : Classification and Regression Trees 다양한 기준의 Tree를 구축하고, leaf 데이터의 점수를 통해 모델의 적합성을 체크한다. 이후 Tree Boosting을 이용하여 Tree를 이 문제에 맞도록 최적화한다. ## 출처 - http://kweonwooj.tistory.com/archive/20160414