그래디언트 부스팅

R로 배우는 트리 기반 Machine Learning

Sandro Raabe

Data Scientist

복습: 부스팅

  • 무작위보다 약간 나은 약한 학습기(예: 한 번만 분할하는 결정 트리) 사용
  • 약한 학습기를 누적하고 정답 예측을 상쇄
  • 매 단계마다 남은 어려운 관측치에 집중

 

  • AdaBoost: 최초의 대중적 부스팅 알고리즘
  • Gradient Boosting: AdaBoost의 개선형
R로 배우는 트리 기반 Machine Learning

비교

Adaboost
  • 약한 학습기로 결정 스텀프 사용
  • 관측치에 가중치 부여:
    • 어려운 관측치는 높은 가중치
    • 정답 예측에는 낮은 가중치
그래디언트 부스팅
  • 작은 결정 트리를 약한 학습기로 사용
  • 가중치 대신 손실 함수 사용
  • 경사하강법으로 손실 최소화
R로 배우는 트리 기반 Machine Learning

부스팅의 장단점

 

장점

  • 최상위 성능의 머신러닝 모델 중 하나
  • 불균형 데이터에 유리

 

단점

  • 과적합에 취약
  • 학습이 느릴 수 있음(하이퍼파라미터인 학습률에 따라)
  • 튜닝할 하이퍼파라미터가 많음
R로 배우는 트리 기반 Machine Learning

그래디언트 부스팅의 하이퍼파라미터

단일 결정 트리에서 알던 것
  • min_n: 추가 분할에 필요한 노드의 최소 데이터 수
  • tree_depth: 트리의 최대 깊이/분할 수
랜덤 포레스트·배깅 트리에서 알던 것:
  • sample_size: 학습에 사용되는 데이터 비율
  • trees: 앙상블의 트리 수
R로 배우는 트리 기반 Machine Learning

그래디언트 부스팅의 하이퍼파라미터

랜덤 포레스트에서 알던 것:
  • mtry: 각 분할마다 무작위로 뽑는 예측 변수 수
부스팅 트리 전용:
  • learn_rate: 반복 간 알고리즘이 학습을 반영하는 속도
  • loss_reduction: 추가 분할에 필요한 손실 감소량
  • stop_iter: 개선 없이 중지하기 전 반복 수
R로 배우는 트리 기반 Machine Learning

연습해 봅시다!

R로 배우는 트리 기반 Machine Learning

Preparing Video For Download...