Tensorflow

XG Boosting

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