본문 바로가기
AI_basic/ML

[ML] 지도학습/분류 GBM(Gradient Boosting Machine)

by hits_gold 2021. 7. 23.
반응형

GBM이란?

  GBM은 AdaBoost와 개별 약한 학습기(weak learner)가 순차적으로 오류 값에 대해 가중치를 부여한 예측 결정 기준을 모두 결합해 예측을 수행한다는 점에서 유사하나, 가중치 업데이트를 경사 하강법(Gradient Descent)를 이용하는 것이 큰 차이입니다.

<Boosting>

AdaBoost는 이전에 잘못 분류한 데이터에 가중치를 더 많이 주고, GBM은

  1. 각 관측치마다 잔차를 구하고, 이 잔차에 첫 번째 약한 학습기를 적합시킵니다.
  2. 적합된 결과에 따라 잔차의 예측값 (마지막 노드 (leaf)에 속한 잔차들의 평균)을 구하고
  3. 잔차 예측값 * 학습률을 이전 예측값과 더해 새롭게 예측값을 업데이트합니다

의 순서를 통해 가중치를 업데이트하게 됩니다.

 

GBM 하이퍼 파라미터

    트리 기반 파라미터는 결정트리와 랜덤 포레스트 포스팅에서 소개된 내용과 같습니다

 

   1. loss : 경사 하강법에서 사용할 비용 함수를 지정합니다. 특별한 이유가 없으면 기본값인

              "deviance"를 그대로 적용합니다.

   2. learning_rate : 기본값은 0.1이며 학습을 진행할 때마다 적용하는 학습률입니다.

   3. n_estimators: weak learner의 개수로, learning_rate와 상호보완적입니다.

   4. subsamples : weak learner가 학습에 사용하는 데이터의 샘플링 비율입니다.  기본값은1

       이며 과적합이 염려되는 경우 1보다 작은 값으로 설정합니다.

 

GBM실습

get_human_dataset()은 유틸리티 함수로 사용자 행동인식 데이터를 가져옵니다.

 

하이퍼 파라미터 튜닝없이도 랜덤 포레스트보다 나은 예측 정확도를 보여줍니다. 하지만 수행시간이 오래걸린다는 단점이 있습니다.

 

설정된 하이퍼 파라미터 값 중 최적 하이퍼 파라미터는 분류기 500개, 학습률 0.1이고, 예측 정확도는 약 0.90으로 계산되었습니다.

반응형