| 원저자 | 구오린 케 / 마이크로소프트 리서치 |
|---|---|
| 개발자 | 마이크로소프트 및 LightGBM 기여자 |
| 발표일 | 2016년 |
| 안정화 버전 | v4.3.0
/ 2024년 1월 15일 |
| 저장소 | github |
| 프로그래밍 언어 | C++, 파이썬, R, C |
| 운영 체제 | 윈도우, macOS, 리눅스 |
| 종류 | 기계 학습, 그라디언트 부스팅 프레임워크 |
| 라이선스 | MIT 허가서 |
| 웹사이트 | lightgbm |
LightGBM은 Light Gradient-Boosting Machine의 약자로, 기계 학습을 위한 자유-오픈 소스 분산 그라디언트 부스팅 프레임워크이며, 원래 마이크로소프트에서 개발했다. 이 프레임워크는 결정 트리 알고리즘을 기반으로 하며 순위 학습, 통계적 분류 및 기타 기계 학습 작업에 사용된다. 개발 중점은 성능과 확장성에 있다.
LightGBM 프레임워크는 GBT, GBDT, GBRT, GBM, MART 및 RF를 포함한 다양한 알고리즘을 지원한다. LightGBM은 희소 최적화, 병렬 훈련, 다중 손실 함수, 정규화, 배깅, 조기 종료 등 XGBoost의 많은 장점을 가지고 있다. 두 가지의 주요 차이점은 트리의 구성에 있다. LightGBM은 대부분의 다른 구현에서와 같이 레벨별로(행 단위로) 트리를 성장시키지 않는다. 대신 잎(leaf)-단위로 트리를 성장시킨다. 최대 델타 손실을 가진 잎을 선택하여 성장한다. 또한 LightGBM은 XGBoost 또는 다른 구현에서처럼 정렬된 특성 값에서 최적의 분할 지점을 검색하는 널리 사용되는 정렬 기반 결정 트리 학습 알고리즘을 사용하지 않는다. 대신 LightGBM은 고도로 최적화된 히스토그램 기반 결정 트리 학습 알고리즘을 구현하여 효율성과 메모리 소비 모두에서 큰 장점을 제공한다. LightGBM 알고리즘은 Gradient-Based One-Side Sampling (GOSS) 및 Exclusive Feature Bundling (EFB)이라는 두 가지 새로운 기술을 활용하여 높은 수준의 정확도를 유지하면서 알고리즘을 더 빠르게 실행할 수 있도록 한다.
LightGBM은 리눅스, 윈도우, macOS에서 작동하며 C++, 파이썬, R, C#을 지원한다. 소스 코드는 MIT 허가서에 따라 라이선스가 부여되며 깃허브에서 사용할 수 있다.
경사 하강법을 사용할 때, 모델의 가능한 구성 공간을 계곡으로 생각하는데, 이 계곡의 가장 낮은 부분이 데이터에 가장 근접하게 맞는 모델이다. 이 비유에서, 계곡이 얼마나 더 낮아지는지 배우기 위해 다른 방향으로 걷는다.
일반적으로 경사 하강법에서는 전체 데이터 집합을 사용하여 계곡의 기울기를 계산한다. 그러나 이 일반적으로 사용되는 방법은 모든 데이터 포인트가 동일하게 유익하다고 가정한다.
대조적으로, 경사 부스팅 결정 트리를 위해 처음 개발된 방법인 Gradient-Based One-Side Sampling (GOSS)은 모든 데이터가 동일하게 유익하다는 가정에 의존하지 않는다. 대신, 더 작은 경사(더 얕은 기울기)를 가진 데이터 포인트를 무작위로 제거하여 덜 유익한 것으로 간주한다. 이는 노이즈의 영향을 받았을 수 있는 데이터를 걸러내어 모델이 데이터의 기본 관계를 더 정확하게 모델링할 수 있도록 하기 위함이다.
배타적 특징 번들링(EFB)은 유효 특징의 수를 줄이는 거의 무손실 방법이다. 희소 특징 공간에서 많은 특징은 거의 배타적이며, 이는 동시에 0이 아닌 값을 거의 취하지 않는다는 것을 의미한다. 원-핫 인코딩된 특징은 배타적 특징의 완벽한 예이다. EFB는 이러한 특징들을 묶어 차원수를 줄여 효율성을 향상시키면서 높은 수준의 정확도를 유지한다. 배타적 특징을 단일 특징으로 묶는 것을 배타적 특징 번들(exclusive feature bundle)이라고 한다.