목차
출처
1. 정의
Leaf-wise 방식으로 Tree를 분할하고 GOSS와 EFB 알고리즘을 적용해 XGBoost의 속도와 메모리 사용량을 개선한 모델이다. 성능은 XGBoost와 비슷한 편이다.
2. 기존 Boosting 방법의 문제
속도가 느리고 대용량 데이터셋을 다루기에는 메모리가 부담됨.
3. LightGBM의 Solution
•
Leaf-wise 방식
일반적인 Decision Tree에서 주로 사용하는 Level-wise 방식의 경우 Tree 분할 시 최대한 균형을 맞춰야 한다는 단점이 있다. 이와 달리 LightGBM이 채택한 Leaf-wise 방식은 loss가 가장 큰 값을 기준으로 하위 트리(subtree)를 계속해서 생성하며 loss를 줄여나가기 때문에 상대적으로 속도가 빠르다.
•
GOSS (Gradient-Based One-Side Sampling)
데이터셋의 샘플 수를 효과적으로 줄이는 알고리즘
gradient가 큼 = 영향력이 큼 = 학습이 덜 됨 = 학습을 마저 진행해야 함 = 가중치를 높게 주어 데이터셋에 포함될 확률을 높임 = gradient가 작은 값은 상대적으로 무시됨 = 데이터 분포가 크게 달라짐
Information Gain을 고려해 데이터 분포를 많이 바꾸지 않으면서도 학습이 잘 되지 않은 부분에 초점을 맞출 수 있음
•
EFB(Exclusive Feature Bundling)
데이터셋의 변수 개수를 효과적으로 줄이는 알고리즘
sparse한 고차원 데이터에서 유효한 변수들을 골라내야 함
상호배타적인 변수들로 구성된 bundle을 생성
4. 장단점
Level-wise 방식(XGBoost) 대비 속도 빠름 & 성능 높음 & 메모리 사용량 적음
범주형 변수 자동 인코딩
Level-wise 방식 대비 과적합 위험 有(대략 10,000개 이하로 데이터가 적을 경우)
자동으로 인코딩을 해 줄 뿐 여전히 인코딩에 드는 시간과 비용이 큼