GBM, XGBoost, LightGBM

JERRY·2025년 4월 19일
0

Machine Learning

목록 보기
19/31
post-thumbnail

GBM - Gradient Boosting Machine

GBM

  • 부스팅 알고리즘은 여러 개의 약한 학습기(week learner)를 순차적으로 학습-예측하면서 잘못 예측한 데이터에 가중치를 부여해서 오류를 개선해가는 방식
  • GBM은 가중치를 업데이트할 때 경사 하강법(Gradient Descent)을 이용하는 것이 큰 차이

HAR 데이터 읽기

GradientBoosting

  • 일반적으로 GBM이 성능자체는 랜덤 포레스트보다는 좋다고 알려져 있음
  • sckit-learn의 GBM은 속도가 아주 느린 것으로 알려져 있음

GridSearch

Best 파라미터

XGBoost

  • XGBoost는 트리 기반의 앙상블 학습에서 가장 각광받는 알고리즘 중 하나
  • GBM 기반의 알고리즘인데, GBM의 느린 속도를 다양한 규제를 통해 해결
  • 특히 병렬 학습이 가능하도록 설계됨
  • XGBoost는 반복 수행 시마다 내부적으로 학습데이터와 검증데이터를 교차검증을 수행
  • 교차검증을 통해 최적화되면 반복을 중단하는 조기 중단 기능을 가지고 있음

주요 파라미터

  • nthread : CPU의 실행 스레드 개수를 조정. 디폴트는 CPU의 전체 스레드를 사용하는 것
  • eta : GBM 학습률
  • num_boost_rounds : n_estimators와 같은 파라미터
  • max_depth

조기 종료 조건과 검증데이터를 지정

LightGBM

  • LightGBM은 XGBoost와 함께 부스팅 계열에서 가장 각광받는 알고리즘
  • LGBM의 큰 장점은 속도
  • 단, 적은 수의 데이터에는 어울리지 않음 (일반적으로 10000건 이상의 데이터가 필요하다고 함)
  • GPU 버전도 존재함

0개의 댓글