Light Gradient Boosted Machine Algorithm(LightGBM) 이란?
1) LightGBM: XGBoost와 비교해 큰 예측 성능 차이를 보이지 않으면서 학습 시간을 상당히 단축시킨 모델
2) 큰 테이블 형태의 데이터가 있을 때 정보의 손실 없이 행과 열을 줄여 문제를 효율적으로 다룬 모델
3) LightGBM의 핵심기술: GOSS – row를 줄이는 방법, EFB – column을 줄이는 방법
Light Gradient Boosted Machine Algorithm(LightGBM) 설명
1)GOSS(Gradient based One Side Sampling): row(obs)를 줄이는 방법
• 모델로 일단 예측한다
-> 실제 값과의 error로 loss를 계산한다
-> Loss가 큰 순서대로 정렬 후, 상위 N개를 뽑아 topSet에 저장
-> topSet에 저장되지 않은 데이터 중 M개를 랜덤 샘플링
-> 줄어든 데이터는 gradient가 큰 N개 + gradient가 작은 M개로 구성
-> 마지막으로 gradient가 작은 M개의 데이터에 대해 weight를 (1-N/M) 적용
-> 줄어든 데이터로 약한 예측기를 만들어 전체 예측기 셋에 추가한다.
2)EFB(Exclusive Feature Bunding): column(feature)을 줄이는 방법
•Tree모델에서 상호 배타적인(원핫 인코딩을 통해 column중 하나에만 값이 있고 나머지는 0인 경우) feature들은 하나로 통합이 가능함
•일종의 차원 축소 기법
LightGBM Hyperparameter 설명
1) Explore Number of Trees: LGBMClassifier 함수에서 ‘n_estimators ‘인수로 tree의 수 설정(default:100)
2) Explore Tree Depth:
3) Explore Learning Rate: LGBMClassifier 함수에서 ‘learning_rate ‘인수로 learning rate 설정(default:0.1)
4) Explore Boosting Type:
'머신러닝' 카테고리의 다른 글
[머신러닝] 앙상블(Ensemble) 기법_스태킹(Stacking)_알고리즘 소개(1) (1) | 2024.01.15 |
---|---|
[머신러닝] 앙상블(Ensemble) 기법_스태킹(Stacking)_개념 정리 (0) | 2024.01.15 |
[머신러닝] 앙상블(Ensemble) 기법_부스팅(Boosting)_XGBoost (0) | 2024.01.13 |
[머신러닝] 앙상블(Ensemble) 기법_부스팅(Boosting)_GBM (1) | 2024.01.12 |
[머신러닝] 앙상블(Ensemble) 기법_부스팅(Boosting)_Adaboost (1) | 2024.01.12 |